top - download
⟦5efe18d5a⟧ Wang Wps File
Length: 68718 (0x10c6e)
Types: Wang Wps File
Notes: FIX/1154/PSP/0107
Names: »3141A «
Derivation
└─⟦507b19fd6⟧ Bits:30006135 8" Wang WCS floppy, CR 0282A
└─ ⟦this⟧ »3141A «
WangText
O…00……00……00……00…I…02……00……00…I
H…0d…=…08…=
<…0d…<…06…;…0e…;
;…07…:…0b…:…0f…:
:…07…9…0a…9…0c…9…0d…9…01…9…05…8…0b…8…00…8 7…0a…7…0d…7…0f…7…06…6…0b…6…0c…6…0d…6…02…6
5…09…5…0d…5…0e…5…01…5…86…1 …02… …02… …02…
…02…FIX/1154/PSP/0107
…02… JL/821210…02……02…
NODAL SWITCH SUBSYSTEM (NSS)
…02……02…FK 7809
LIST OF CONTENTS
1 SCOPE ..................................................
1
1.1 Introduction .......................................
1
1.2 Abbreviations ......................................
3
1.3 Definition of Terms ................................
4
2 APPLICABLE DOCUMENTS ...................................
8
3 MODULE SPECIFICATION ...................................
10
3.0 Symbols ............................................
10
3.1 Functional Capabilities ............................
11
3.1.1 Transmisson between Nodes ......................
13
3.1.1.1 The Error-Free Transmissio .................
13
3.1.1.2 Close Trunk ................................
14
3.1.1.3 Open Trunk .................................
14
3.1.1.4 Transient Trunk Failure ....................
15
3.1.1.5 Permanent Trunk Failure ....................
16
3.1.1.6 Node Failure ...............................
19
3.1.2 Multiaddressing ................................
20
3.1.3 Flow control ...................................
23
3.1.3.1 Routing control ............................
23
3.1.3.2 Traffic Control ............................
26
3.1.3.3 Congestion Control .........................
28
3.1.4 Error Control ..................................
28
3.1.4.1 Physical Level .............................
28
3.1.4.2 Link Level .................................
29
3.1.4.3 Packet Level ...............................
29
3.1.4.4 Message Level ..............................
31
3.1.4.5 Node-To-Node Level .........................
31
3.1.4.6 Error Reporting ............................
31
3.1.5 Statistics .....................................
33
3.1.6 Network Control ................................
33
3.1.7 Start and Restart ..............................
34
3.1.7.1 Responsibility .............................
34
3.1.7.2 Checkpoints ................................
35
3.1.7.3 Restart ....................................
37
3.1.7.4 Recovery ...................................
37
3.1.7.5 Start ......................................
37
3.2 Interface Description ..............................
38
3.2.1 The MEDE .......................................
41
3.2.2 The SIP ........................................
43
3.2.3 The SCC ........................................
43
3.2.4 The Trunks .....................................
43
3.2.5 The Data Users .................................
49
3.2.6 The Timer Process ..............................
49
3.2.7 The Purge Process ..............................
49
3.2.8 The Checkpoint Process .........................
50
3.3 Processing .........................................
50
3.3.1 The Modules of NSS .............................
50
3.3.2 The Coroutine Monitor ..........................
52
3.3.3 Initialization .................................
54
3.3.3.1 Node Start .................................
56
3.3.3.2 Node Restart ...............................
57
3.3.4 The Packet Handler Module ......................
58
3.3.4.1 General Packet Handling ....................
58
3.3.4.1.1 Introduction .............................
58
3.3.4.1.2 Protocols ..............................
59
3.3.4.1.2.1 The Application Interface ............
59
3.3.4.1.2.2 The LTUX Protocol ....................
59
3.3.4.1.2.3 The X.25 Level 3 Protocol ..........
62
3.3.4.1.3 Packet Format ..........................
62
3.3.4.1.4 Semaphores between Submodules ..........
67
3.3.4.1.5 Start, Restart, Checkpoints ............
69
3.3.4.2 Inbound Packet Handling ....................
69
3.3.4.2.1 Functions ..............................
69
3.3.4.2.2 Operations .............................
70
3.3.4.2.3 Processing .............................
71
3.3.4.2.4 Size ...................................
71
3.3.4.2.5 Timing .................................
77
3.3.4.3 Outbound Packet Handling ...................
77
3.3.4.3.1 Functions ..............................
77
3.3.4.3.2 Operations .............................
79
3.3.4.3.3 Processing .............................
81
3.3.4.3.4 Size ...................................
90
3.3.4.3.5 Timing .................................
91
3.3.4.4 Packet-I/O .................................
91
3.3.4.4.1 Functions ..............................
91
3.3.4.4.2 Operations .............................
92
3.3.4.4.3 Processing .............................
93
3.3.4.4.3.1 The Input Coroutine ................
93
3.3.4.4.3.2 The Output Coroutine ...............
96
3.3.4.4.4 Size ....................................
98
3.3.4.4.5 Timing ..................................
98
3.3.5 The Transport Station Module ...................
99
3.3.5.1 General Message Handling ...................
99
3.3.5.1.1 Introduction ...........................
99
3.3.5.1.2 Protocol ...............................
101
3.3.5.1.3 Types of Messages ......................
104
3.3.5.1.4 Semaphores/Queues between Submodules
... 109
3.3.5.1.5 Use-Counters and Message Processing
.... 111
3.3.5.1.6 Start, Restart, Checkpoints ............
114
3.3.5.2 Inbound Message Transport ..................
115
3.3.5.2.1 Functions ..............................
115
3.3.5.2.2 Operations .............................
117
3.3.5.2.3 Processing .............................
119
3.3.5.2.4 Size ...................................
125
3.3.5.2.5 Timing .................................
125
3.3.5.3 Outbound Message Transport .................
125
3.3.5.3.1 Functions ..............................
125
3.3.5.3.2 Message Routing ........................
129
3.3.5.3.3 Operations .............................
133
3.3.5.3.4 Processing .............................
135
3.3.5.3.5 Size ...................................
143
3.3.5.3.6 Timing .................................
143
3.3.6 The Monitoring Module ..........................
143
3.3.6.1 Introduction ...............................
143
3.3.6.2 Messages Generated .........................
147
3.3.6.3 LTUX Supervision ...........................
150
3.3.6.3.1 Commands ...............................
151
3.3.6.3.2 Command Responses ......................
152
3.3.6.3.3 Status Requests ........................
153
3.3.6.3.4 Status Reports .........................
153
3.3.6.3.4.1 Trans ..............................
153
3.3.6.3.4.2 Trunk ..............................
154
3.3.6.3.4.3 NPDN ...............................
155
3.3.6.3.4.4 Data User ..........................
157
3.3.6.3.4.5 Red Crypto .........................
158
3.3.6.3.4.6 Black Crypto .......................
159
3.3.6.4 Neighbor Node Supervision ..................
159
3.3.6.5 Start, Restart, Checkpoints ................
161
3.3.6.6 Functions ..................................
162
3.3.6.7 Operations .................................
163
3.3.6.7.1 Operations for the Semaphore: MON .......
164
3.3.6.7.2 Operations for the Semaphore: MOND
...... 169
3.3.6.8 Processing .................................
170
3.3.6.9 Size .......................................
176
3.3.6.10 Timing ....................................
176
3.3.7 The Control Module .............................
176
3.3.7.1 Introduction ...............................
176
3.3.7.2 Message Received ...........................
177
3.3.7.3 Start, Restart, Checkpoints ................
179
3.3.7.4 Functions ..................................
179
3.3.7.5 Operations .................................
180
3.3.7.6 Processing .................................
181
3.3.7.7 Size .......................................
183
3.3.7.8 Timing .....................................
183
3.3.8 The Event Module ...............................
184
3.3.8.1 Introduction ...............................
184
3.3.8.2 Event Format ...............................
184
3.3.8.3 Semaphores and Operations ..................
185
3.3.8.4 Start, Restart, Checkpoints ................
186
3.3.8.5 Functions ..................................
186
3.3.8.6 Processing .................................
187
3.3.8.7 Size .......................................
189
3.3.8.8 Timing .....................................
189
3.3.9 The Starting Module ...........................
.189
3.3.9.1 Start/Restart ..............................
189
3.3.9.2 Functions ..................................
190
3.3.9.3 Operations .................................
190
3.3.9.4 Processing .................................
191
3.3.9.5 Size .......................................
192
3.3.9.6 Timing .....................................
192
3.3.10 The Checkpointing Rate ........................
192
3.3.10.1 Narrative Messages ........................
192
3.3.10.2 Control Messages ..........................
195
3.3.10.3 Total Rate ................................
195
3.3.11 Timers and Retransmissions ....................
197
3.3.11.1 The Link Level ............................
197
3.3.11.2 The Packet Level ..........................
198
3.3.11.3 The Message Level .........................
199
3.3.11.4 The Network Level .........................
199
3.3.12 Open/Close Trunk ..............................
200
3.3.13 NPDN Call-up and Close-down ...................
207
3.4 Data Organization ..................................
210
3.4.1 Levels of Data .................................
210
3.4.2 The Data Bases .................................
212
3.4.2.1 The Preparation Data Base ..................
212
3.4.2.2 The Historical Data Base ...................
212
3.4.2.3 The Intermediate Message File ..............
212
3.4.2.3.1 The Size of the IMF ....................
215
3.4.2.4 The Nodal Data File ........................
221
3.4.2.5 The Jack File ..............................
223
3.4.2.6 The Checkpoint File ........................
225
3.4.2.7 The LTUX Configuration Files ...............
227
3.4.3 Queues .........................................
227
3.4.3.1 Queue Lengths and Waiting Times ............
228
3.4.3.2 The Transport Queue ........................
229
3.4.3.2.1 Requirements ...........................
229
3.4.3.2.2 Design .................................
231
3.4.3.2.3 Usage ..................................
234
3.4.3.3 The Control Queue ..........................
235
3.4.3.4 The MDS Queue ..............................
236
3.4.3.5 The CIP Queue ..............................
237
3.4.3.6 The SIP Queue ..............................
237
3.4.3.7 The Trunk Queue ............................
237
3.4.3.8 The Purge Queue ............................
243
3.4.3.9 Reservation of Queue Element ...............
243
3.4.4 Buffers ........................................
245
3.4.4.1 The Pool of Packet Buffers .................
245
3.4.4.2 The Cyclic Input Buffer ....................
248
3.4.4.3 The Outbound Message Buffer ................
251
3.4.5 Tables .........................................
254
3.4.5.1 The I/O-Transfer Table .....................
254
3.4.5.2 The Message/Answer Table ...................
256
3.4.6 Semaphores and Operations ......................
258
3.4.6.1 General Lay-out of Operations ..............
260
3.4.7 Constants and Variables ........................
261
3.5 Storage Allocation ................................
262
3.5.1 Memory Space Requirements .....................
262
3.5.1.1 Program and Data ..........................
262
3.5.1.2 Message Buffers ...........................
266
3.5.1.3 File Descriptions .........................
268
3.5.1.4 I/O-Control Blocks ........................
270
3.5.1.5 Transfer List Elements ....................
270
3.5.2 Disc Space Requirements .......................
271
3.6 Performance Characteristics .......................
272
3.6.1 Equation of Continuation ......................
272
3.6.2 Node Traffic ..................................
275
3.6.2.1 Narrative Messages ........................
275
3.6.2.2 Control Messages ..........................
280
3.6.2.3 ACK/NACK's ................................
280
3.6.3 Timing of NSS Execution .......................
281
3.7 Limitations .......................................
284
3.8 Error Codes/Error Locations .......................
285
3.8.1 Kernel ........................................
285
3.8.2 LTUX I/O ......................................
285
3.8.3 QACCESS .......................................
286
3.8.4 MTCB-Monitor ..................................
286
3.9 Listing References ................................
286
4 QUALITY ASSURANCE .....................................
287
4.1 Qualification Tests ...............................
287
4.2 Other Quality Assurance Provisions ................
287
5 PREPARATIONS FOR DELIVERY .............................
288
6 NOTES .................................................
290
7 APPENDICES ............................................
291
7.1 The Length of Messages ............................
291
7.2 The NSS in the System Control Centers .............
295
1. S̲C̲O̲P̲E̲
1.1 I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲
This document specifies t̲h̲e̲ ̲N̲o̲d̲a̲l̲ ̲S̲w̲i̲t̲c̲h̲ ̲S̲u̲b̲s̲y̲s̲t̲e̲m̲ within the FIKS application software.
The design is based on issue 5 of the Requirements Specifications.
The slightly modified version of the NSS used in the SCC's is described in Appendix 7.2.
The main tasks of the NSS are:
- the receipt of messages from the local MEDE and a possible collocated SCC; these messages
are forwarded through the network.
- the receipt of message packets from the network; the messages are sent to the local MEDE
and a possible SCC or they are relayed.
- routing of messages.
- assembly of inbound packets into messages before routing, and disassembly of outbound
messages into packets after routing.
- queueing by precedence of outbound messages.
- Node-to-Node message control.
- copying of multiaddress messages.
- oscillation and looping control.
- SCC- and MEDE-communication for error- and statistical reporting and for the receipt of
network controllig information.
The network is a message switching network (fig. 1.1-1).
1.2 A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲
CCITT Comit} Consultatif International Telegraphique et Telephonique
CIP Collocated N/M Interface Process
CTR Control
HDB Historical Data Base
HDLC High Level Data Link Control
IMF Intermediate Message File
LTUX Line Terminating Unit for the TDX-bus
MDS Message Distribution Subsystem
MTCB Message Transition Control Block
NDF Nodal Data File
NPDN Nordic Public Data Network
NSS Nodal Switch Subsystem
OMB Outbound Message Buffer
PDB Preparation Data Base
PGE Purge
SCC System Control Center
SFS Supervisory Functions Subsystem
SIP SCC Interface Process
TDX Time Divisioned Multiplexing
TRK Trunk
TRP Transport.
1.3 D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ ̲o̲f̲ ̲T̲e̲r̲m̲s̲
ADAPTIVE ROUTING Routing i̲n̲f̲l̲u̲e̲n̲c̲e̲d̲ ̲b̲y̲ changes of the network topology, local congestion,
and changes of the (average long term) load.
ALTERNATE ROUTING A̲l̲t̲e̲r̲n̲a̲t̲e̲ ̲r̲o̲u̲t̲e̲s̲ are calculated together with the normal one, and used
when the latter is not available.
CHANNEL 1. A logical channel in X.25.
2. A data channel in the LTUX; several channels may share a trunk.
3. A crypto channel in the crypto equipment.
CHECKPOINT A state of a subsystem from which r̲e̲s̲t̲a̲r̲t̲ may be performed.
The State Variables necessary for a possible restart are saved outside
the system.
COMMUNICATION LINE A line between a node and a data user, or from a MEDE to a Comcenter
with terminals, or between SCC and NICS-TARE.
CONGESTION A network state in which an increased demand produces n̲o̲ ̲i̲n̲c̲r̲e̲a̲s̲e̲ in
throughput.
COPY OF A MESSAGE The network produced copy of a message; one copy is produced for each
destination. See "multiplicity".
COROUTINE A piece of code, which is executed in parallel with other coroutines,
w̲i̲t̲h̲o̲u̲t̲ ̲b̲e̲i̲n̲g̲ ̲i̲n̲t̲e̲r̲r̲u̲p̲t̲e̲d̲ between two waiting points.
CRASH Stop or serious malfunction of a system, so that the take-over of its
functions by its standby system is mandatory.
CRASH TIME The time when a computer c̲r̲a̲s̲h̲e̲s̲. This time is common to all s̲u̲b̲s̲y̲s̲t̲e̲m̲s̲
of the computer immediately after the last checkpoint of any of its
subsystems.
LOG-LINE A TDX-driver term which enables several simultaneous data- and control
paths to and from one LTUX.
LOGICAL CHANNEL An X.25 level 3 term which enables several silmultaneous virtual calls
and permanent virtual circuits.
LOOPING The arrival of a message at a node, already passed (also called oscillation,
orbiting).
MULTIPLICITY The multiplicity of the network is defined as the fraction:
DEST…0f…n…0e… ORIG…0f…n…0f…
all nodes all nodes
i.e. Number of incoming messages/Number of outgoing messages within
some period of time, or in other words: the amount of copying performed
by the nodes because of the multiaddress option for narrative messages.
PHANTOM MESSAGE An unnecessary (but accepted) copy of a message. May f.ex. be produced
when an ACK is lost.
PREDETERMINED ROUTING
The route of a message is determined before it is put into the network.
RECOVERY The reprocessing of c̲h̲e̲c̲k̲p̲o̲i̲n̲t̲ data performed after restart.
RESTART Initialization of a s̲t̲a̲n̲d̲b̲y̲ ̲s̲y̲s̲t̲e̲m̲ after a c̲r̲a̲s̲h̲.
ROUTE 1. A line through the network from the originating node to the destination
node via trunks and possible intermediate nodes. Not necessarily
the optimum route.
2. A line through the network via trunks and nodes followed by a data
user from origin to destination.
ROUTING Determination of the optium route or part hereof for a message.
START The very first initialization of a system.
TRUNK Synchronous, full duplex, 9.6 kbaud line between two nodes, or between
an SCC and the collocated node. It may be permanent or called up (via
NPDN).
TRUNK GROUP Two or more trunks between a pair of nodes.
WINDOW The number of consecutive data packets authorized to cross the interface
(X.25 level 3).
X.25 CCITT recommendation describing the interface between a DTE and a DCE
for terminals operating in the packet mode on public data network.
2. A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲
1. REQUIREMENTS SPECIFICATION
FIX/0000/SPC/0002
Vol. I - III, issue 5, 800310
2. FIKS SYSTEM DESIGN SPECIFICATION
FIX/1000/DSP/0001
issue 5, 800507
3. FIKS SOFTWARE INTERFACE REFERENCE
FIX/0100/MAN/0003
Issue 2, 800530
4. FIKS DATA INTERFACE REFERENCE
FIX/0100/MAN/0004
Issue 2, 800530
5. SUPPORT SOFTWARE DESIGN SPEC.
FIX/1103/DSP/0009
Issue 1, 800430
6. CR 80 AMOS KERNEL
CSS/302/PSP/0008
Issue 2, 810303
7. CR 80 AMOS, I/O SYSTEM
CSS/006/PSP/0006
Issue 3, 810401
8. CR FILE SYSTEM PSP
CSS/910/EWP/0001
Issue 2, 790226
9. CR 80 TDX DRIVER
CSS/314/PSP/0013
Issue 5, 810501
10. FIKS TDX SYSTEM DESIGN SPECIFICATION
FIX/3131/DSP/0011
Issue 3, 800606
11. CCITT YELLOW BOOK
VOLUME VIII.2
DATA COMMUNICATION NETWORKS - X.25
Geneva 1980
12. TEST REPORT FOR THE NSS
VOLUME I - III
FIX/1154/TRP/0092
3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲C̲a̲p̲a̲b̲i̲l̲i̲t̲i̲e̲s̲
The functions of the NSS are:
a. TRANSMISSION:
- Transmission of packets from node to node
- Disassembly/assembly of messages/packets
- Temporary storage of messages on disc
- Exchange messages with the local MEDE and a possibly collocated SCC.
b. MULTIADDRESSING:
- Copying of messages for multiple MEDE-addresses.
c. FLOW CONTROL:
- Routing Control: Routing of messages by means of Routing Tables.
Switching from secondary to primary route of data users.
- Traffic Control: To give higher priority to relay messages than messages entering
the network, and higher priority to incoming messages than to relay
messges.
Queue administration.
- Congestion or Priority Control:
The internal queues are handles by precendence level.
d. ERROR CONTROL:
- Physical Level
- Link Level
- Packet Level
- Mesage Level
- Node-to-Node Level
- Error reporting
e. NETWORK SUPERVISION
- Receipt and processing of controlling information from the MEDE- and from the SCC
- supervisors.
- Monitoring and forwarding reports for the MEDE - and the SCC supervisors.
f. STATISTICS
- Maintain tables of statistical information.
- Forward statistical information to the SCC.
g. START AND RESTART
- Checkpoint -saving queues, buffers and other
information necessary for restart.
- Recovery -reprocessing of checkpoint data after restart.
- Start -start based on initial data, i.e. the initial start is treated as a
special case of restart.
3.1.1 T̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲ ̲B̲e̲t̲w̲e̲e̲n̲ ̲N̲o̲d̲e̲s̲
3.1.1.1 T̲h̲e̲ ̲E̲r̲r̲o̲r̲f̲r̲e̲e̲ ̲T̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲
During the errorfree t̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲ messages are transferred between a̲ ̲p̲a̲i̲r̲ ̲o̲f̲ ̲n̲o̲d̲e̲s̲ via a
t̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲ ̲l̲i̲n̲e̲ in b̲o̲t̲h̲ ̲d̲i̲r̲e̲c̲t̲i̲o̲n̲s̲.
When a message is received, it is acknowledged by returning an ACK to the sending node.
The purpose of this is to maintain f̲l̲o̲w̲ ̲c̲o̲n̲t̲r̲o̲l̲, that is to ensure that messages are not
forwarded faster than the receiver is always able to accept the messages. For identification
each message is supplied with a unique number. Another advantage of the ACK will be mentioned
when talking about NODE - MEDE Restart, (Chapter 3.1.1.6). Before being transmitted a message
is chopped into p̲a̲c̲k̲e̲t̲s̲. The purpose of this is to obtain e̲a̲s̲i̲e̲r̲ ̲h̲a̲n̲d̲l̲i̲n̲g̲, because messages
may be extreme long. Another purpose is to give p̲r̲i̲o̲r̲i̲t̲y̲ to the messages: if during transmission
of a message another message of higher priority must be transmitted, the first message is
temporarily aborted, and transmission of the last message is initiated; also this message
may be temporarily aborted, if meanwhile, a third message of even higher priority must be
transmitted and so on. (As an example short messages could be given a higher priority than
long messages reducing the average delay). A third reason for chopping a message into packets
will be mentioned in connection with transmission errors and retransmission ( chapter 3.1.1.4).…86…W
…02… …02… …02… …02… …02… …02…
3.1.1.2 C̲l̲o̲s̲e̲ ̲T̲r̲u̲n̲k̲
When a trunk is closed it must not be used for message traffic (but it should still be used
for data user traffic) until it is reopened.
After a "close trunk" command the trunk state is set to closed.
All messages outbound on the trunk (and not yet acknowledged) must be rerouted.
All messages inbound on the trunk and only partly received must have their resources released.
The messages will be rerouted by the sender.
Probably there will now exist a mismatch between the packet - as well as the message numbers
of the two nodes. Therefore they must be brought to agree, when the trunk is opened.
See also ch. 3.3.12 for more detailed information.
3.1.1.3 O̲p̲e̲n̲ ̲T̲r̲u̲n̲k̲
In both neighbours the inbound - as well as the outbound packet numbers and message numbers
are reset, because there may exist a mismatch from the previous disconnection or closing
of the trunk.
The trunk state is set to open, so message - traffic is allowed to flow.
See also ch. 3.3.12 for more detailed information.…86…W …02… …02… …02… …02… …02… …02…
3.1.1.4 T̲r̲a̲n̲s̲i̲e̲n̲t̲ ̲T̲r̲u̲n̲k̲ ̲F̲a̲i̲l̲u̲r̲e̲
If noise or another t̲r̲a̲n̲s̲i̲e̲n̲t̲ ̲t̲r̲u̲n̲k̲ ̲f̲a̲i̲l̲u̲r̲e̲ disturbs the transmission of a packet, the failure
will be detected (with a very high degree of probability) at the receiving node, and the
erroneous packet will be discarded.
The packet may be r̲e̲t̲r̲a̲n̲s̲m̲i̲t̲t̲e̲d̲ until it is received without error.
Let p: Probability of error per bit
H: No. of header-bits per packet
I: No. of information-bits per packet
E: Line efficiency
N: No. of transmissions to get a packet accepted.
L: Packet Length = H+I
then the o̲p̲t̲i̲m̲u̲m̲ ̲p̲a̲c̲k̲e̲t̲ ̲s̲i̲z̲e̲ (which maximizes the line efficiency) will be
I…0f…o…0e… H/p (bit)
and the optimum line efficiency equals:
E…0f…o…0e… 1- H p
and the average no. of transmissions of a packet to get it accepted by the receiver will
be:
N 1+L p
for
p l/L (per bit).
For very long messages it is important that they are chopped into packets, which may be retransmitted.
Otherwise it may be very difficult to get them transferred.
The retransmission facility is implemented on the HDLC - level of the TRUNK - connections.
On the TRANS-connection between an SCC and its collocated node, however, no such retransmission
facility is implemented. Therefore packets my be disturbed and discarded.
The situation that one or more packets are missing will be detected by the receiving Packet
Handler.
All packets of the message(-s) in question will be discarded, and the message(-s) will be
retransmitted.
This is done by releasing resources occupied by packets already received, by deletion of
subsequent packets and by returning a N̲A̲C̲K̲ to the sending neighbour.
It is seen that a NACK is a request for retransmission of one or more entire message(-s)
for repair of a transient trunk failure.
3.1.1.5 P̲e̲r̲m̲a̲n̲e̲n̲t̲ ̲T̲r̲u̲n̲k̲ ̲F̲a̲i̲l̲u̲r̲e̲
If a transmission line is broken, or if the power is switched off a modem, then the failure
is so serious that the trunk cannot be used for a shorter or longer time; this error is reported
to both nodes. The trunk state is set to disconnected.…86…W …02… …02… …02… …02… …02… …02…
All messages outbound on that trunk (and not yet acknowledged) must be rerouted.
All messages inbound on the trunk and only partly received (i.e. the first but not the last
packet is received) must have their resources released.
These messages will be rerouted by the sender.
It is seen that there may now exist a mismatch between the packet- and the message numbers
of the two nodes. Therefore when the trunk has been repaired and being re-opened the packet-
and the message counters of the two neighbours must be brought to agree for that trunk.
The trunk states and the transitions between them are shown in the figure overleaf.…86…W
…02… …02… …02… …02… …02… …02…
OPEN
open close
CLOSED
(or CONNECTED)
disconnect
connect disconnect
DISCONNECTED
FIG. 3.1.1.5-1:
THE TRUNK STATES AND THE TRANSITIONS BETWEEN THE STATES…01……86…W …02… …02… …02… …02… …02… …02…
3.1.1.6 N̲o̲d̲e̲ ̲F̲a̲i̲l̲u̲r̲e̲
To detect a failure in a neighbour node a special control message of the very highest priority
level is currently forwarded to each neighbour connected with an open trunk; having transmitted
the message, a t̲i̲m̲e̲r̲ is started. If the timer expires before the message is acknowledged,
it is a retransmitted. If the timer expires after having retransmitted once, the neighbour
is assumed to have failed.
Whatever the node failure is transient or permanent, transmission of message traffic will
be avoided; the data user traffic, however, will continue to flow.
Therefore messages outbound for the failed node will be rerouted. Partly received messages
inbound from the node will be released - later, when the failed node is restarted, they will
be retransmitted.
The SCC is informed abouth the node failure if possible, and new routing tables are generated.
When the former failed node is r̲e̲s̲t̲a̲r̲t̲e̲d̲, the former open trunks are automatically reopened
from that node. As mentioned above old outbound messages (i.e. messages for which the failed
node was responsible) are rerouted and retransmitted.
If the former failed node is s̲t̲a̲r̲t̲e̲d̲ from scratch, the trunks must be opened by the supervisor.
If a "failure" is erroneously detected in a neighbour actually running possible messages
form the "failed" neighbour are acknowledged; otherwise the neighbour will recognize the
present node as failed! The situation may be recovered simply by a CLOSE TRUNK followed by
an OPEN TRUNK command.…86…W …02… …02… …02… …02… …02… …02…
3.1.2 M̲u̲l̲t̲i̲a̲d̲d̲r̲e̲s̲s̲i̲n̲g̲
Messages for m̲u̲l̲t̲i̲p̲l̲e̲ ̲(̲M̲E̲D̲E̲-̲)̲ ̲a̲d̲d̲r̲e̲s̲s̲e̲e̲s̲ (fig. 3.1.2-1) are handled by the network as described
below:
Referring to fig. 3.1.2-2 you will find that a message is equipped with a r̲o̲u̲t̲i̲n̲g̲ ̲m̲a̲s̲k̲ placed
in the binary header. In the routing mask an indication is set for each MEDE, SIP or SCC
which shall be delivered one copy.
The names of the destinations are the letters:
A : MEDE
B : MEDE
E : MEDE
F : MEDE
H : MEDE
K : MEDE
L : MEDE
N : MEDE
P : SCC, collocated N/M "E"
Q : SCC, collocated N/M "K"
S : SIP at N/M "E"
Z : SIP at N/M "K"
As late as possible a copy is made for each trunk, which must transmit the message. Each
copy is equipped with an appropriate routing mask, which is a s̲u̲b̲s̲e̲t̲ of the routing mask
received in the node. All copies are handled according to a commmon action-precedence level.
One copy is given to each destination MEDE, or SCC or SIP, independently of how many copies
are made at the communication centers.…86…W …02… …02… …02… …02… …02… …02…
FIG. 3.1.2-1:
THE NETWORK AND ITS USERS
THE ADDRESSEES ARE MEDE…08…s, SCC…08…s AND SIP…08…s…86…W …02… …02… …02… …02… …02… …02…
FIG. 3.1.2-2:
MULTIADDRESSING, COPYING AND ROUTING.
(The trunks HF1, HL1 and HN1 are thought to be disconnected)…86…W …02… …02… …02… …02… …02… …02…
3.1.3 F̲l̲o̲w̲ ̲C̲o̲n̲t̲r̲o̲l̲
3.1.3.1 R̲o̲u̲t̲i̲n̲g̲ ̲C̲o̲n̲t̲r̲o̲l̲
The network is a m̲e̲s̲s̲a̲g̲e̲ ̲s̲w̲i̲t̲c̲h̲i̲n̲g̲ ̲n̲e̲t̲w̲o̲r̲k̲, so routing is performed on m̲e̲s̲s̲a̲g̲e̲ ̲l̲e̲v̲e̲l̲; this
means that (finally) all packets of a message follow the same route.
The routing is n̲o̲n̲-̲p̲r̲e̲d̲e̲t̲e̲r̲m̲i̲n̲e̲d̲, which means that it is not determined in advance which
route a message not yet put into the network will follow. The decision is taken from n̲o̲d̲e̲
̲t̲o̲ ̲n̲o̲d̲e̲. The advantage by doing so is that the decision is made on the latest local knowledge
about the state of the nodes and the trunks.
The routing algorithm is run by the SCC.
The routing result of the algorithm contains three alternate results per destination despite
the fact that it is run when t̲h̲e̲ ̲t̲o̲p̲o̲l̲o̲g̲y̲ is changed and when t̲h̲e̲ ̲d̲e̲l̲a̲y̲ is changed. The
reason is that it must be possible to perform routing also in the period of time when the
algorithm is executed, i.e. from some changes occur until new Routing Tables are calculated
and distributed.
A complete set of Routing Tables is shown in Fig. 3.1.3.1-1.…86…W …02… …02… …02… …02… …02…
…02…
FIG. 3.1.3.1-1
THE ROUTING TABLE OF EACH NODE…86…W …02… …02… …02… …02… …02… …02…
It must be pointed out that in a period of time where the routing in the individual nodes
is based on different information about the network, o̲s̲c̲i̲l̲l̲a̲t̲i̲o̲n̲s̲ ̲a̲n̲d̲ ̲l̲o̲o̲p̲i̲n̲g̲s̲ ̲o̲f̲ ̲m̲e̲s̲s̲a̲g̲e̲s̲
my occur. The reasons may be:
- two nodes may disagree about the availability of a trunk or a node.
- the information about topology and delay needs some time to spread out through the network,
i.e. the routing tables arrive at different times at different nodes.
The routing algorithm must ensure that when using the same knowledge of the network, then
two nodes agree abouth the optimum route.
The amount of oscillations and loooping of messages in the network will be controlled by
the "O̲r̲b̲i̲t̲ ̲C̲o̲u̲n̲t̲e̲r̲" of each message. The counter is a part of the binary header. When entering
the network it is a preset to 20; it is reduced by one, when passing a node; reaching 0 the
message is transferred to the supervisor of the NODE/MEDE. In this way some small amount
of oscillitions and loopings is tolerated.
Narrative and control messages locked up in a node (because all trunks are cut, or the destination
is not available) are transferred to the supervisor of the NODE/MEDE.
A message retransmitted from a node to its neighbour node 3 times without success is transferred
to the supervisor of the NODE/MEDE.…86…W …02… …02… …02… …02… …02… …02…
In a collocated node control messages for the SIP are put into the SIP-Q, and narrative messages
for the SIP are put into the MDS-Q (see Fig. 3.1.3.1-2)
A data user may be switched from the secondary to the primary route by a control message
from the SCC.
3.1.3.2 T̲r̲a̲f̲f̲i̲c̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲
Traffic control means control of the amount of traffic in the network; this is done in two
ways:
- messages from the network to the local MEDE are given a higher priority than relay messages.
Relay messages are given a higher priority than new messages entering the network from
MEDE - to ensure that the network is not overloaded.
- if the length of the Trunk Queue exceeds the threshold, this is reported to the SCC.
This is an indication of congestion in the neighbour at the far end of the trunk.…86…W
…02… …02… …02… …02… …02… …02…
FIG. 3.1.3.1-2:
FLOW OF MESSAGES FOR THE SIP…86…W …02… …02… …02… …02… …02… …02…
3.1.3.3 C̲o̲n̲g̲e̲s̲t̲i̲o̲n̲ ̲C̲o̲n̲t̲r̲o̲l̲
Congestion Control is performed by giving certain types of messages higher priority than
others.
6̲ ̲+̲ ̲1̲ ̲p̲r̲e̲c̲e̲d̲e̲n̲c̲e̲ ̲l̲e̲v̲e̲l̲s̲ are handled:
0. super flash S (for control messages:
ACK,NACK, MICK and MACK only)
1. flash Z
2. rush Y
3. immediate O
4. priority P
5. quick M
6. routine R
3.1.4 E̲r̲r̲o̲r̲ ̲C̲o̲n̲t̲r̲o̲l̲
3.1.4.1 P̲h̲y̲s̲i̲c̲a̲l̲ ̲L̲e̲v̲e̲l̲
Trunk disconnection, soft trunk failures, and unsuccessful NPDN call-up/close-down are detected
and reported from the LTUX-TRUNK and LTUX-NPDN.
3.1.4.2 L̲i̲n̲k̲ ̲L̲e̲v̲e̲l̲
Frame format errors are detected and corrrected on the Link Level. Cryto Garbling is detected
and reported.
3.1.4.3 P̲a̲c̲k̲e̲t̲ ̲L̲e̲v̲e̲l̲
Errors detected and reported by the Packet Handler are:
Packet Format Error and Missing Packet.
L̲E̲V̲E̲L E̲R̲R̲O̲R̲S̲
5: Node-to-Node Neighbour Node Failure
4: Message Missing message
Phantom message
Hard Trunk Failure
Neighbour Node Failure
Message locked out from destination
Orbit message
Trunk Queue threshold exceeded
3: Packet Packet format error
Missing packet
2: Link Cryto garbling
Frame error
Too many retransmissions
1: Physical Trunk disconnected
Soft trunk failure
Unsuccessful NPDN call-up/close-down
FIG. 3.3-7:
ERRORS AND LEVELS. THE ERRORS ARE GROUPED
ACCORDING TO THE LEVEL WHERE THEY ARE FIRST RECOGNIZED…86…W …02… …02… …02… …02… …02… …02…
3.1.4.4 M̲e̲s̲s̲a̲g̲e̲ ̲L̲e̲v̲e̲l̲
Errors detected but not corrrected on the packet level are reported to the message level.
These may be:
- Missing Message.
Too many retransmissions of messages to the next node are reported to the supervisors (Hard
Trunk Failure or Neighbour Node Failure). Duplicated messages are cancelled. Messages may
be locked out from their destination; such messages are transferred to the MEDE supervisor.
Trunk Queue Threshold Alarms and Orbiting Messages are reported to the SCC.
3.1.4.5 N̲o̲d̲e̲-̲t̲o̲-̲N̲o̲d̲e̲ ̲L̲e̲v̲e̲l̲
A node failure is detected and reported from its neighbours.
3.1.4.6 E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲i̲n̲g̲
The follwoing error reports are sent to the supervisor of the MEDE:
Report: Trunk failure, hard/soft
Node failure
Unsuccessful NPDN call-up/close-down.
…86…W …02… …02… …02… …02… …02… …02… …02…
The MDS-Q receives narrative messages locked-out, orbiting or being retransmitted too many
times.
The below mentioned error reports are sent to the supervisor of the SCC.
Local Network
Status Report: - Trunk failure
- NPDN assignment
- Trunk Queue Threshold
- Node failure
- Change of Data User Route
- Crypto failure
- Orbiting narrative message
One-hour reports are sent to the supervisor of the SCC containing:
- No. of frames transmitted per trunk
- No. of frames retransmitted per trunk
- Trunk load
- DTG of oldest message per precedence per trunk.
3.1.5 S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲ ̲
The NSS forwards s̲t̲a̲t̲i̲s̲t̲i̲c̲a̲l̲ ̲i̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲ to the SCC each hour:
- No. of frames retransmitted per trunk
- Trunk load: No. of text characters transmitted
- Trunk queue length: No. of messages per precedence
- DTG of oldest message per precedence per trunk.
The information is transmitted by a control message.
3.1.6 N̲e̲t̲w̲o̲r̲k̲ ̲C̲o̲n̲t̲r̲o̲l̲
Network control is performed from the SCC by distributing control messages to the individual
nodes. It may also be performed locally by the MEDE supervisor.
Network control performed by the SCC covers:
- Routing Tables
- Open/Close Trunk
- Selection of primary Data User route
- Set alarm threshold of retransmission rate
- Set alarm threshold of Trunk Queue length
Local control performed by the MEDE supervisor covers:
- Local updating of Routing Table
- Open/Close trunk
- NPDN call-up/close-down
- Data User Reconfiguration…86…W …02… …02… …02… …02… …02… …02…
3.1.7 S̲t̲a̲r̲t̲ ̲a̲n̲d̲ ̲R̲e̲s̲t̲a̲r̲t̲
3.1.7.1 R̲e̲s̲p̲o̲n̲s̲i̲b̲i̲l̲i̲t̲y̲
The NSS receives l̲o̲c̲a̲l̲ generated messages and r̲e̲m̲o̲t̲e̲ ̲ generated messages for routing and
transmission.
The local generated messages are those generated by the local MEDE/SCC or by the NSS itself.
They are put into the TRP-Q.
The remote generated messages are those received from the neighbour nodes via the input trunks.
An MTCB is generated, the message is stored on disc, and an ACK is returned to the sender.
The NSS is r̲e̲s̲p̲o̲n̲s̲i̲b̲l̲e̲ for each of the above mentioned messages until it has been put into
an output queue (MDS-Q, CIP-Q, SIP-Q, CTR-Q or PGE-Q) and/or until it has been transmitted
via an output trunk, and an ACK has been received.
"Responsible" means that during a possible recovery situation the NSS must ensure that the
messages are not lost, but correctly reprocessed.
3.1.7.2 C̲h̲e̲c̲k̲p̲o̲i̲n̲t̲s̲
By means of checkpoints the book-keeping of messages for which the NSS is responsible are
currently updated.
Local generated messages put into the TRP-Q are p̲o̲s̲i̲t̲i̲v̲e̲l̲y̲ checkpointed by the supplier (fig.
3.1.7.2-1).
Remote generated messages are p̲o̲s̲i̲t̲i̲v̲e̲l̲y̲ checkpointed when written on disc before the ACK
is returned.
Whenever a message for which the NSS is responsible is put into an output queue (MDS-Q, CIP-Q,
SIP-Q, CTR-Q, PGE-Q, TRK-Q) a positive checkpoint is made. For the TRK-Q, however, this
is done by saving the OMB (Outbound Message Buffer) onto the OMF (Outbound Message File or
NSS Checkpoint File) (Ch. 3.4.2.7).
When a message is deleted from a queue (TRP-Q, CTR-Q, TRK-Q) a n̲e̲g̲a̲t̲i̲v̲e̲ checkpoint is made.
For the TRK-Q, however, this is done by saving the OMB onto the OMF.…86…W …02… …02… …02… …02…
…02… …02…
S̲U̲B̲S̲Y̲S̲T̲E̲M̲ ̲ A̲C̲T̲I̲O̲N̲ R̲E̲S̲P̲O̲N̲S̲I̲B̲L̲E̲
B: ACCESS MSG. IN QUEUE AB
B
B: PROCESS MSG
B: PUT MSG. INTO QUEUE BC
B: MAKE A POSITIVE CHECKPOINT FOR C
B: MAKE A NEGATIVE CHECKPOINT FOR B
B: REMOVE MSG. FROM QUEUE AB
C: ACCESS MSG. IN QUEUE BC
C
C: PROCESS MSG.
C: PUT MSG. INTO QUEUE CD
C: MAKE A POSITIVE CHECKPOINT FOR D
C: MAKE A NEGATIVE CHECKPOINT FOR C
C: REMOVE MSG. FROM QUEUE BC
D
FIG. 3.1.7.2-1:
POSITIVE AND NEGATIVE CHECKPOINTS
3.1.7.3 R̲e̲s̲t̲a̲r̲t̲
During a restart the former cold stand-by N/M computer is started, i.e. the subsystems incl.
the NSS are initialized with the common RESTART ̲FLAG set to TRUE.
3.1.7.4 R̲e̲c̲o̲v̲e̲r̲y̲
All queues and MTCB…08…s are regenerated.
The NDF (Nodal Data File) is loaded as left by the failed branch. In this way neither routing
information nor trunk- nor data user status are lost.
The OMB is loaded from the OMF.
All trunks, which were open during the crash, are re-opened.
The OMB is scanned, emptied and each message is put into the TRP ̲Q for rerouting and retransmission.
After recovery normal processing continues and no messages are lost.
3.1.7.5 S̲t̲a̲r̲t̲
The very first initialization of a N/M is called the start. The subsystems incl. the NSS
are loaded, initialized are started with the commom RESTART ̲FLAG set to FALSE.
There are no messages within the subsystems for which they are responsible.
3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The entire network forms a m̲e̲s̲s̲a̲g̲e̲ ̲s̲w̲i̲t̲c̲h̲i̲n̲g̲ ̲s̲y̲s̲t̲e̲m̲, i.e. entire messages are stored and
forwarded in each node. The interface between t̲h̲e̲ ̲u̲s̲e̲r̲s̲ ̲a̲n̲d̲ ̲t̲h̲e̲ ̲n̲e̲t̲w̲o̲r̲k̲ is not X.25, but
some q̲u̲e̲u̲e̲s̲ of messages; the interface b̲e̲t̲w̲e̲e̲n̲ ̲t̲h̲e̲ ̲n̲o̲d̲e̲s̲, however, is very similar to X.25,
cfr. fig. 1.1-1.
The N̲S̲S̲ is surrounded by the processes of the M̲E̲D̲E̲, or a S̲C̲C̲, a possible dummy SCC called
the S̲I̲P̲, the D̲a̲t̲a̲ ̲U̲s̲e̲r̲s̲, the t̲r̲u̲n̲k̲s̲, the T̲I̲M̲E̲R̲-, the P̲U̲R̲G̲E̲-, the C̲H̲E̲C̲K̲P̲O̲I̲N̲T̲ ̲p̲r̲o̲c̲e̲s̲s̲ and the
D̲a̲t̲a̲ ̲B̲a̲s̲e̲s̲.
The interfaces to the MEDE, the SIP and the SCC are input- and output queues. The interfaces
to the Data Users and the trunks are the I/O-system and the TDX-driver. The interface to
the Data Bases is the I/O-system.
Inside the network are flowing c̲o̲n̲t̲r̲o̲l̲ ̲m̲e̲s̲s̲a̲g̲e̲s̲. Besides t̲h̲e̲ ̲m̲e̲s̲s̲a̲g̲e̲ ̲t̲r̲a̲f̲f̲i̲c̲, which is controlled
by the NSS, also d̲a̲t̲a̲ ̲t̲r̲a̲f̲f̲i̲c̲ is flowing on the trunks and through the nodes. Except for
some error-reporting, switching from secondary to primary data route, and Data User Reconfiguration,
there is no interface between NSS and the data traffic.
An overview of the entire t̲r̲a̲f̲f̲i̲c̲ through a node is given in fig. 3.2-1.
Fig. 3.2-2 defines the t̲e̲r̲m̲i̲n̲o̲l̲o̲g̲y̲ concerning the message traffic through the NSS.
The Data Bases are detailed described in ch. 3.4.2.…86…W …02… …02… …02… …02…
FIG. 3.2-1:
TRAFFIC THROUGH A NODE
FIG. 3.2-2:
THE MESSAGE TRAFFIC THROUGH THE NSS…86…W …02… …02… …02… …02…
3.2.1 T̲h̲e̲ ̲M̲E̲D̲E̲
The NSS communicates with the MEDE via the NSS input queue (the T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲Q̲u̲e̲u̲e̲) and an output
queue (the M̲D̲S̲ ̲Q̲u̲e̲u̲e̲), and via the common data bases: the P̲r̲e̲p̲a̲r̲a̲t̲i̲o̲n̲ ̲D̲a̲t̲a̲ ̲B̲a̲s̲e̲ ̲(̲P̲B̲D̲)̲,̲ the
H̲i̲s̲t̲o̲r̲i̲c̲a̲l̲ ̲D̲a̲t̲a̲ ̲B̲a̲s̲e̲ ̲(̲H̲D̲B̲)̲, and the I̲n̲t̲e̲r̲m̲e̲d̲i̲a̲t̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲F̲i̲l̲e̲ ̲(̲I̲M̲F̲)̲.
In fact the MDS-Queue consists of 1̲+̲6̲ ̲s̲u̲b̲q̲u̲e̲u̲e̲s̲, one per precedence level: 1 super flash
level (not used) and 6 standard precedence levels. It is used for (narrative and control)
messages destinating this MEDE. The messages themselves are stored on the IMF; a queue-element
consists of a pointer to an MTCB, which points to the message on the disc, fig. 3.2.1-1.
The Transport Queue consists of 3 parts: one part for messages generated at the l̲o̲c̲a̲l̲ MEDE
and a possible collocated SIP, one part for control- and narrative messages in r̲e̲l̲a̲y, and
one part for messages d̲e̲l̲a̲y̲e̲d̲ due to flow control, see ch. 3.4.3.2; each part consists of
1+6 subqueues, one per precedence level. Local messages are stored in the PDB (SPECAT messages)
or the HDB (non-SPECAT messages); a queue element is a pointer to an MTCB.…86…W …02… …02…
…02… …02…
FIG 3.2.1-1
THE INTERFACES BETWEEN
THE MEDE, THE CIP, THE SIP ND THE NSS.…86…W …02… …02… …02… …02…
3.2.2 T̲h̲e̲ ̲S̲I̲P̲
The SCC Interface Process, the SIP, is a dummy SCC in a collocated N/M-computer. It acts
as an SCC during off-line conditions.
The interface is the SIP Queue (or SDQ), which consists of 1+6 subqueues, one per precedence
level, see fig. 3.2.1-1.
3.2.3 T̲h̲e̲ ̲S̲C̲C̲
The interface to the SCC is the CIP Queue and the Transport Queue. Control messages from
the SCC may be Routing Tables or control of Data Users; control messages to the SCC may be
statistics or reports. Narrative messages are messages to or from NICS/TARE. Messages between
the SCC and the collocated node are not encrypted. They are transferred via the red TDX-bus,
and the TRANS-connection.
3.2.4 T̲h̲e̲ ̲T̲r̲u̲n̲k̲s̲
The connection between a pair of nodes in the FIKS network falls in one of the categories:
- TRUNK…08…s
- NPDN…08…s
- TRANS…08…
The trans connection is used between an SCC and its collocated node; the traffic is non-encrypted.…86…W
…02… …02… …02… …02…
All other connections are usually of the category trunk. A disconnected trunk, however,
may be substituted by an NPDN connection. The traffic is encrypted.
The connections are shown on fig. 3.2.4-1
Very often, however, any of the categories will be called a "trunk" for short.
The maximum number is 7 trunks/trans and 1 NPDN radiating from a node.
Each half (or simplex) TRUNK/NPDN/TRANS is identified by:
trunk identification ::=
from node to node trunk serial no.
The trunks are also given consecutive numbers, also called Entry Nos or Incarnation Nos:
0, 1,..., 7.
Trunk Entry No. 0 is used for a possible NPDN connection, see fig. 3.2.4-2.…86…W …02… …02…
…02… …02…
FIG 3.2.4-1
THE CONNECTIONS BETWEEN NODES AND SCC…08…s…86…W …02… …02… …02… …02…
FIG. 3.2.4-2
NUMBERING OF TRUNKS…01……86…W …02… …02… …02… …02…
The NSS communicates packets with the red LTUX CRYPTO and the LTUX TRANS via the AMOS I/O-system,
the red TDX-driver, the red HOST I/F, and the red TDX-bus.
The NSS communicates supervisory information with the LTUX…08… via the AMOS I/O-system, the black
TDX-Driver, the black HOST I/F and the black TDX-bus.
Also initialization information is communicated to the LTUX…08… from the NSS.
The NSS communicates with the LTUX…08… through loglines.
The maximum dato field length of a data packet is 512 bytes, see fig. 3.2.4-3.
Preceding the data field is found an X.25 packet header, a protocol header containing the
trunk-id, an HDLC-header and a CRYPTO-header.
The protocol header on an outbound packet is used by the red LTUX-CRYPTO; on an inbound packet
it is used by the Packet Handler; in both cases for identification of the trunk.…86…W
…02… …02… …02… …02…
FIG. 3.2.4-3
THE SIZE OF A PACKET…86…W …02… …02… …02… …02…
3.2.5. T̲h̲e̲ ̲D̲a̲t̲a̲ ̲U̲s̲e̲r̲s̲
As mentioned previously also the LTUX…08…s of the Data Users are connected to the NSS directly
via the black TDX-bus.
The purpose is switching and error control.
3.2.6 T̲h̲e̲ ̲T̲i̲m̲e̲r̲ ̲P̲r̲o̲c̲e̲s̲s̲
The Timer Process awakes the NSS:
- on the hour for creation of statistics
and hourly report for the SCC…08…s. Identification =
# FFFF.
- at "time out" after having sent the last packet of a message to a neighbour
node. Identification =
Node-to-Node serial No 6+ Precedence 3+ Trk.Inc. No.
The NSS is awoken by returning an answer containing the identification of the call.
3.2.7 T̲h̲e̲ ̲P̲u̲r̲g̲e̲ ̲P̲r̲o̲c̲e̲s̲s̲
The Purge Process performs purging of "special handling" messages before final release.
The NSS puts such messages into the Purge Queue after successful transmission to the next
node.…86…W …02… …02… …02… …02…
3.2.8 T̲h̲e̲ ̲C̲h̲e̲c̲k̲p̲o̲i̲n̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲
Each time a positive or negative checkpoint is done by the NSS, a KERNEL message is sent
to the Checkpoint Process; when the Queue- and MTCB-information has been saved on disc, an
answer is returned.
The first time a positive checkpoint is made after having created and filled an MTCB, the
Checkpoint Process is also asked to update the MTCB before saving.
3.3 P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
3.3.1 T̲h̲e̲ ̲M̲o̲d̲u̲l̲e̲s̲ ̲o̲f̲ ̲N̲S̲S̲
The Nodal Switch Subsystem consists of the modules:
- The Packet Handler Module
- The Transport Station Module
- The Monitoring Module
- The Control Module
- The Event Module
- The Starting Module.
see fig. 3.3.1-1
They are all described in details in the chapters
3.3.4 through 3.3.9.…86…W …02… …02… …02… …02…
FIG. 3.3.1-1
THE MODULES,QUEUES AND BUFFERS OF THE NSS…86…W …02… …02… …02… …02… …02…
3.3.2 T̲h̲e̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲M̲o̲n̲i̲t̲o̲r̲
The modules or submodules of the NSS form one or several coroutines:
PACKET HANDLER
Inbound Packet Handler 1+T coroutine(s)
Outbound Packet Handler 1+T coroutine(s)
Packet Input 2 coroutines
Packet Output 2 coroutines
TRANSPORT STATION
Transport Station, inbound 1+T coroutine(s)
Transport Station, outbound 1 coroutine
MONITORING MODULE 1 coroutine
CONTROL MODULE 1 coroutine
EVENT MODULE 1 coroutine
STARTING MODULE 1 coroutine
where 1+T means the No. of trunks, NPDN and trans.
Together with the Coroutine Monitor they all form one process.
The coroutines are synchronized and they exchange information by means of operations which
are waited for at and signalled to semaphores.
An overview of the Coroutine Monitor Procedures used is given on the next pages.
W̲A̲I̲T̲-̲C̲H̲A̲I̲N̲E̲D̲
PROCEDURE WAITCH (SEMAPHORE, OPERATION)
This procedure fetches an operation from a semaphore. In case an operation is ready when
the procedure is called, the operation is simply handed to the calling coroutine.
In case no operation is ready at call time, the calling coroutine is delayed until an operation
arrives for it.
This is a waiting point procedure.
S̲I̲G̲N̲A̲L̲-̲C̲H̲A̲I̲N̲E̲D̲
PROCEDURE SIGNALCH (SEMAPHORE, OPERATION)
This procedure delivers an operation at a chained semaphore. In case a coroutine is already
waiting at the semaphore, the operation is handed to this coroutine, which is then put into
the ready queue (for later activation).
In case no coroutine waits at the semaphore, the operation is linked to it, waiting to be
fetched by wait-chained.
W̲A̲I̲T̲-̲O̲P̲E̲R̲A̲T̲I̲O̲N̲S̲
PROCEDURE WTOPS
(MASK; FA,BLE,OP.REF., FD/TYPE,IDENT,ADDR)
This procedure delays the calling coroutine until the ready queue is empty and until an external
event arrives to the process, e.g. I/O operation complete, answer, or signal.
This is a waiting point procedure.
Note that only one coroutine may wait for an event external to the process at a time.…86…W
…02… …02… …02… …02… …02…
P̲A̲S̲S̲
PROCEDURE PASS
This procedure moves the coroutine to the end of the ready queue.
The procedure should be used with care, because the ready queue is not emptied.
D̲E̲L̲A̲Y̲
PROCEDURE DELAY
This procedure delays the calling coroutine until another coroutine waiting for an external
event has been made active.
This is a waiting point procedure.
Several coroutines may be delayed at a time.
3.3.3 I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲
During assembly the coroutines of the NSS are linked together as indicated by the arrow
on the figure overleaf.
When started or restarted the coroutines are initialized in the order of linkage, i.e. as
indicated by the arrow.
A detailed listing of what is happening during a start and a restart is listed on the subsequent
pages.…86…W …02… …02… …02… …02… …02…
INITCH:
STARTING MODULE:
EVENT MODULE:
CONTROL @MODULE:
MONITORING MODULE:
TRANSPORT STATION, OUT:
TRANSPORT STATION, IN:
PACKET HANDLER, OUT:
PACKET HANDLER, OUT:
PACKET HANDLER, IN:
FIG. 3.3.3-1
THE LINDING AND INITIALIZATION OF THE NSS COROUTINES…86…W …02… …02… …02… …02… …02…
3.3.3.1 N̲o̲d̲e̲ ̲S̲t̲a̲r̲t̲
M̲o̲d̲u̲l̲e̲ F̲u̲n̲c̲t̲i̲o̲n̲
SM - OPEN NDF
- READ SEGMENT # 1 OF NDF INTO ND.
- OPEN JACKFILE
- READ JACKFILE INTO JACKTABLE
- OPEN IMF
- OPEN CPF
- INIT ̲MTCB incl. OPEN HDB
OPEN IMF
OPEN PDB ̲DIRECTORY
- INITIALIZE COROUTINE ̲MONITOR
- RESET "OUTBOUND MESSAGE BUFFER"
EM - empty
CM - SIGNAL "NODE ̲START" ̲OP TO MM
MM - START 1H TIMER
- START 30 S TIMER
- INITILIZE STATISTICS, HOURLY ̲REPORT ETC.
- READ "NODE START" ̲OP FROM CM.
- CONFIGURE LTUX…08… FOR START
TSO - WRITE "OUTBOUND MESSAGE BUFFER" INTO CPF.
TSI - empty
PH - empty
SM - STOP…86…W …02… …02… …02… …02… …02…
3.3.3.2 N̲o̲d̲e̲ ̲R̲e̲s̲t̲a̲r̲t̲
M̲o̲d̲u̲l̲e̲ F̲u̲n̲c̲t̲i̲o̲n̲
SM - OPEN NDF
- READ SEGMENT #0 OF NDF INTO ND
- OPEN JACKFILE
- READ JACKFILE INTO JACKTABLE
- OPEN IMF
- OPEN CPF
- READ CPF INTO "OUTBOUND MESSAGE BUFFER"
- INIT ̲MTCB incl. OPEN HDB
OPEN IMF
OPEN PDB ̲DIRECTORY
- INITIALIZE COROUTINE MONITOR
EM - empty
CM - SIGNAL "NODE-RESTART" ̲OP TO MM
- SIGNAL "RE-OPEN TRUNKS" ̲OP TO MM
MM - START 1H TIMER
- START 30 s TIMER
- INITIALIZE STATISTICS, HOURLY-REPORT etc.
- READ "NODE RE-START" ̲OP FROM CM.
- CONFIGURE LTUX…08… FOR RESTART
- READ "RE-OPEN TRUNKS" ̲OP FROM CM.
- REOPEN TRUNKS
TSO - empty
TSI - empty
PH - X.25 - RESTART OF TRUNKS
SM - STOP
MM - ASK TSO TO RE-ROUTE MSGS.
TSO - MOVE MSGS FROM "OUTBOUND MESSAGE BUFFER" INTO TRP-Q.
3.3.4 T̲h̲e̲ ̲P̲a̲c̲k̲e̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲M̲o̲d̲u̲l̲e̲
3.3.4.1 G̲e̲n̲e̲r̲a̲l̲ ̲P̲a̲c̲k̲e̲t̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
3.3.4.1.1 I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲
T̲h̲e̲ ̲P̲a̲c̲k̲e̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲M̲o̲d̲u̲l̲e̲ performs the X̲.̲2̲5̲ ̲l̲e̲v̲e̲l̲ ̲3̲ packet handling.
The connection for packets to the trunks is via the ̲I̲/̲O̲-̲s̲y̲s̲t̲e̲m̲,̲ the r̲e̲d̲ ̲T̲D̲X̲-̲d̲r̲i̲v̲e̲r̲ and the
r̲e̲d̲ ̲c̲r̲y̲p̲t̲o̲ ̲L̲T̲U̲X̲ common to all trunks. The interfae to the I/O-system are the C̲y̲c̲l̲i̲c̲ ̲I̲n̲p̲u̲t̲
̲B̲u̲f̲f̲e̲r̲ and the P̲o̲o̲l̲ ̲o̲f̲ ̲P̲a̲c̲k̲e̲t̲ ̲B̲u̲f̲f̲e̲r̲s̲
Input packets are transferred to the T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲S̲t̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲.̲ Output packets for the Packet
Handler are stored in the Trunk Queue by the Transport Station Module.
The Packet Handler is divided into:
- the Inbound Packet Submodule
- the Outbound Packet Submodule
- the Input Submodule
- the Output Submodule
The red crypto LTUX mentioned above and a possible LTUX TRANS is initialized by the Monitoring
Module.
3.3.4.1.2 P̲r̲o̲t̲o̲c̲o̲l̲s̲
3.3.4.1.2.1 T̲h̲e̲ ̲A̲p̲p̲l̲i̲c̲a̲t̲i̲o̲n̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The below mentioned I̲/̲O̲-̲c̲o̲m̲m̲a̲n̲d̲s̲ are used:
- init-read-bytes
- init-append-bytes.
3.3.4.1.2.2 T̲h̲e̲ ̲L̲T̲U̲X̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲
The LTUX Protocol is the agreement between the NSS (t̲h̲e̲ ̲m̲a̲s̲t̲e̲r̲) and the red Crypto LTUX and
a possible LTUX TRANS (t̲h̲e̲ ̲s̲l̲a̲v̲e̲s̲) on exchange of packets.
T̲h̲e̲ ̲p̲a̲c̲k̲e̲t̲ ̲f̲o̲r̲m̲a̲t̲ is described in chapter 3.3.4.1.3
The Monitoring Module will create the below mentioned log-lines for each slave:
- sub-device # 0:Connection
- sub-device # 2:Device control, -status and-error
- sub-device # 3:Packet transfer
A p̲a̲c̲k̲e̲t̲ ̲i̲s̲ ̲o̲u̲t̲p̲u̲t̲ to the slave only if the red Crypto LTUX/LTUX TRANS has reported: "o̲u̲t̲p̲u̲t̲
̲t̲r̲u̲n̲k̲ ̲n̲o̲n̲-̲b̲u̲s̲y̲" (which means: the device is ready to receive the next output packet).…86…W
…02… …02… …02… …02…
L̲T̲U̲X̲ ̲P̲R̲O̲T̲O̲C̲O̲L̲
Status Packet present node
(from: LTUX neighbour node trunk id
to : NSS ) trunk serial #
packet header
output trunk busy/non-busy
X̲.̲2̲5̲ ̲P̲A̲C̲K̲E̲T̲ ̲P̲R̲O̲T̲O̲C̲O̲L̲
Data Packet from node
to node trunk id
trunk serial #
packet header
data field (0-512 bytes)
Control Packet from node
to node trunk id
trunk serial #
packet header
FIG. 3.3.4.1.2.2-1.0:
FORMAT OF PACKETS…86…W …02… …02… …02… …02…
Note that after having executed the "init-append-bytes" statement the red Crypto LTUX (if
equipped with the sufficient number of buffers) will immediately be ready for execution of
another "init-append-bytes" statement.
It must be possible for the crypto LTUX to distinguish LTUX Protocol Packets from X.25 Packets.
Therefore the length of the LTUX Protocol Packets is less than 6 bytes while the length
of the X.25 Packets is guaranteed to be 6 bytes or more.
3.3.4.1.2.3 T̲h̲e̲ ̲X̲.̲2̲5̲ ̲L̲e̲v̲e̲l̲ ̲3̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲
The software submodules implements most of the facilities described in t̲h̲e̲ ̲C̲C̲I̲T̲T̲ ̲X̲.̲2̲5̲ ̲l̲e̲v̲e̲l̲
̲3̲ recommendation. The most significant difference is the absence of t̲h̲e̲ ̲R̲E̲J̲E̲C̲T̲/̲r̲e̲t̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲
facility. This facility is not necessary because the Node-to-Node control on message level
is implemented according to the message switching philosophy.
3.3.4.1.3 P̲a̲c̲k̲e̲t̲ ̲F̲o̲r̲m̲a̲t̲
The format of a packet is:
- trunk-id
- packet header
- status- or control- or data information.…86…W …02… …02… …02… …02…
Level 3 permits multiplexing of several logical channels on a single transmission line (trunk)
and performs error- and flow control on the data packet transmission on each individual logical
channel.
X̲.̲2̲5̲ ̲O̲p̲t̲i̲o̲n̲s̲ ̲I̲m̲p̲l̲e̲m̲e̲n̲t̲e̲d̲ ̲i̲n̲ ̲F̲I̲K̲S̲
Level 3 distinguishes between 2 types of packets, data packets and control packets:
a) Data Packets:
7 6 5 4 3 2 1 0
0 0 0 1 0 0 0 0 Byte No. 3
Logical ch. No.
(Precedence level) Byte No. 4 Packet Header
P (R) M P(S) 0 Byte No. 5
Data Field
0-512 Bytes
The Data Field Maximum Length is a system parameter, and must be a power of 2.
In FIKS a data field maximum length of 512 bytes have been selected.
A window size of 3 is used. This parameter may be set to any value within the interval:
1 window size 7.…86…W …02… …02… …02… …02…
b) Control Packets
7 6 5 4 3 2 1 0
0 0 0 1 0 0 0 0 Byte No. 3
Logical ch. No
if applicable Byte No. 4 "Packet Header"
Command 1 Byte No.5
The control packets used by NSS are:
RR packets (Receive Ready)
RESTART packets
RESTOP packets
RESET packets (Reset of one logical channel)
X̲.̲2̲5̲ ̲O̲p̲t̲i̲o̲n̲s̲ ̲n̲o̲t̲ ̲I̲m̲p̲l̲e̲m̲e̲n̲t̲e̲d̲ ̲i̲n̲ ̲F̲I̲K̲S̲
REJECT packets (request for retransmission of a number of packets).
Control packets concerning establishment and
disconnection of virtual circuits via a
genuine X.25 network.
Interrupt
X̲.̲2̲5̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲ ̲E̲x̲t̲e̲n̲s̲i̲o̲n̲s̲ ̲f̲o̲r̲ ̲F̲I̲K̲S̲
a) A trunk identification field has been added to the X.25 packets to support the communication
with LTUX devices and crypto equipment.
7 6 5 4 3 2 1 0
FROM NODE Byte No. 0
TO NODE Byte No. 1
TRUNK SERIAL # Byte No. 2
Packet Header
b) The logical channels are given priority according to precedence level.
The X.25 packets are grouped into X̲.̲2̲5̲ ̲D̲a̲t̲a̲ ̲P̲a̲c̲k̲e̲t̲s̲ and X̲.̲2̲5̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲P̲a̲c̲k̲e̲t̲s̲.̲
The purpose of transmitting the trunk ident is to save memory space: By doing so, only one
log-line common to all trunks must be created instead of one log-line per trunk requiring
as many input buffers.
The h̲e̲a̲d̲e̲r̲ of X.25 packets consists of 3 octets. The data qualifier is permanently equal
to zero. The logical channel group No. is equal to zero; logical channel No. is equal to
the precedence level of the message. The packet sequence numbers cycle through the range
of 0 to 7.
Regarding packets input from a particular trunk, a new message begins if the previous packet
was:
- the last one (the More Data bit was not set)
or
- of another (higher) precedence level.
So packets of up to 7̲ ̲m̲e̲s̲s̲a̲g̲e̲s̲ ̲m̲a̲y̲ ̲b̲e̲ ̲m̲i̲x̲e̲d̲ on a trunk.…86…W …02… …02… …02… …02…
For each logical channel i.e. for each precedence level within a trunk the Packet Handler
operates two counters V̲(̲S̲)̲ ̲a̲n̲d̲ ̲V̲(̲R̲)̲:
input: if packet received without error and ready to receive one more packet
then V(R):= (V(R)+1) mod 8;
if prev P(R) P(R) then prev P(R) := P(R)
output: P(S) := V(S);
P(R) := V(R);
if V(S) (prev P(R) + W) mod 8 (comment: receiver ready)
then V(S):= (V(S) +1) mod 8;
3.3.4.1.4 S̲e̲m̲a̲p̲h̲o̲r̲e̲s̲ ̲b̲e̲t̲w̲e̲e̲n̲ ̲S̲u̲b̲m̲o̲d̲u̲l̲e̲s̲
The s̲e̲m̲a̲p̲h̲o̲r̲e̲s̲ are shown in fig. 3.3.4.1.4-1.0.
FIG. 3.3.4.1.4-1.0
FIG. 3.3.4.1.4-1.0
SEMAPHORES AND COMMON VARIABLES…86…W …02… …02… …02… …02… …02…
3.3.4.1.5 I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲,̲ ̲R̲e̲s̲t̲a̲r̲t̲,̲ ̲C̲h̲e̲c̲k̲p̲o̲i̲n̲t̲s̲
No special i̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲ is performed.
After a r̲e̲s̲t̲a̲r̲t̲ the logical channels of all open trunks will be reset by "restart-trunk"
-operations sent from the Monitoring Module, so they will remain open.
The Packet Handler contains no c̲h̲e̲c̲k̲p̲o̲i̲n̲t̲s̲ since checkpointing is performed on the message
level.
3.3.4.2 I̲n̲b̲o̲u̲n̲d̲ ̲P̲a̲c̲k̲e̲t̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
3.3.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲s̲
The packets are r̲e̲c̲e̲i̲v̲e̲d̲ from the Packet-Input submodule in a packet buffer pointed out from
a p̲a̲c̲k̲e̲t̲ ̲p̲o̲i̲n̲t̲e̲r̲ in the Cyclic Input Buffer according to the logical channel (precedence
per trunk).
The packet pointer consists of 3 fields:
- the starting address of the packet
- the length of the packet
- the more data bit
The packet sequence number P(S) is c̲h̲e̲c̲k̲e̲d̲; for a packet correctly received the id and header
is removed, and the packet pointer is t̲r̲a̲n̲s̲f̲e̲r̲r̲e̲d̲ to the Transport Station.
When the packet pointer is released by the Transport Station, the packet may be a̲c̲k̲n̲o̲w̲l̲e̲d̲g̲e̲d̲,
i.e. V(R) := (V(R) +1) mod 8.
Missing packets are signalled to the Transport Station causing message retransmission.
3.3.4.2.2 O̲p̲e̲r̲a̲t̲i̲o̲n̲s̲
State: Packet Input Signal "Packet Ready"
Semaphore: PHISEM (Trunk)
Op(5,4) : Sender (Packet Handler/Packet Input)
- (7,6) : 0,Packet Ready
- (9,8) : Packet Start Address
-(11,10): Packet Size (bytes)
State: TS-IN Acknowledges Packet Received
Semaphore: PHISEM (Trunk)
Op (5,4) : Sender (Transport Station)
- (7,6) : 0, Packet Received
- (9,8) : 0, Precedence
- (11,10): 0, 0…86…W …02… …02… …02… …02…
FIG. 3.3.4.2.3-1.0
INBOUND PACKET HANDLER…86…W …02… …02… …02… …02…
FIG: 3.3.4.2.3-1.1…86…W …02… …02… …02… …02…
FIG: 3.3.4.2.3-1.2…86…W …02… …02… …02… …02…
FIG: 3.3.4.2.3-1.3…86…W …02… …02… …02… …02…
FIG: 3.3.4.2.3-1.4
PROCEDURE SKPPCK…86…W …02… …02… …02… …02…
3.3.4.2.3 P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
In fig. 3.3.4.2.3 is shown the flowchart of the inbound packet handling per trunk, in other
words one incaration of the coroutine per trunk (leased as well as NPDN) is running.
When a new packet is signalled from the Input Coroutine for that trunk, the logical channel
no. and the more data bit is fetched from the packet header. A packet pointer is reserved
for the logical channel in question, and the packet starting address, the packet length,
and the more data bit are copied into the buffer; it is noticed that a free packet pointer
will be available due to flow control.
The packet is checked, and for a data packet also P(S) and P(R) are checked, the header is
removed, and the checked packet is signalled to the Transport Station Module.
When a packet has been received by the Transport Station, a signal is returned, and the packet
buffer and the packet pointer are released. V(R) for that logical channel is increased by
1 (mod 8). V (R) is equal to the highest P(S) it is able to receive +1 - w.
3.3.4.2.4 S̲i̲z̲e̲
The size of the code is 430 instructions.
The necessary data area occupies approximately
50 No. of trunks words.…86…W …02… …02… …02… …02…
3.3.4.2.5 T̲i̲m̲i̲n̲g̲
About 200 instructions are executed for processing a packet of one inbound message, corresponding
to a cpu-time of 0.44 ms.
3.3.4.3 O̲u̲t̲b̲o̲u̲n̲d̲ ̲P̲a̲c̲k̲e̲t̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
3.3.4.3.1 F̲u̲n̲c̲t̲i̲o̲n̲s̲
Packets for a trunk are r̲e̲c̲e̲i̲v̲e̲d̲ from the Trunk Queue according to precedence level.
A queue element is an operation as shown in fig. 3.4.3.7-2.
The ACK/NACK operation contains the ACK/NACK message itself.
For other message types the operation is a pointer to the packet on the disc.
The routing mask may be different from the mask input due to copying. If the More Data bit
is equal to zero, the packet is the last one of a message; so within a precedence queue a
packet following one having the More Data bit equal to zero, will be the first one of a message.
When the neighbour node is ready, the packet of the highest precedence level is waited for,
and a packet buffer is reserved from the pool.…86…W …02… …02… …02… …02…
F̲o̲r̲ ̲t̲h̲e̲ ̲f̲i̲r̲s̲t̲ ̲p̲a̲c̲k̲e̲t̲ ̲o̲f̲ ̲a̲ ̲m̲e̲s̲s̲a̲g̲e̲ ̲t̲h̲e̲ ̲r̲o̲u̲t̲i̲n̲g̲ ̲m̲a̲s̲k̲,̲ ̲t̲h̲e̲ ̲s̲e̲r̲i̲a̲l̲ ̲n̲o̲.̲,̲ ̲a̲n̲d̲ ̲t̲h̲e̲ ̲o̲r̲b̲i̲t̲ ̲c̲o̲u̲n̲t̲e̲r̲
̲a̲r̲e̲ ̲c̲o̲p̲i̲e̲d̲ ̲i̲n̲t̲o̲ ̲t̲h̲e̲ ̲b̲i̲n̲a̲r̲y̲ ̲h̲e̲a̲d̲e̲r̲, when the packet has been read from disc into the reserved
buffer.
A p̲a̲c̲k̲e̲t̲ ̲h̲e̲a̲d̲e̲r̲ ̲i̲s̲ ̲g̲e̲n̲e̲r̲a̲t̲e̲d̲ containing P(S), P(R) and M. V(S) is increased by 1 : V(S):=
(V(S)+1) mod 8.
When removing a queue element from the Trunk Queue, the queue length is compared to the lower
threshold for the precedence in question; if lower and a threshold alarm has been reported
(by the Transport Station), the alarm is cancelled. The messages removed from the Trunk
Queue are counted for the Monitoring Module.
The packet is t̲r̲a̲n̲s̲f̲e̲r̲r̲e̲d̲ to the Packet-I/O submodule by signalling a short operation to
semaphore POSEM (either LTUX CRYPTO RED or TRANS incarnation).