ITRW322VBC - Index of
ITRW322VBC - Index of ITRW322VBC - Index of
©
- Page 2 and 3: ©
- Page 4 and 5: • • • • • •
- Page 6 and 7: •
- Page 8 and 9: • • •
- Page 10 and 11: • • • •
- Page 12 and 13: • • • • • • •
- Page 14 and 15: • • • • • • •
- Page 16 and 17: • • • • • •
- Page 18 and 19: • • •
- Page 20 and 21: • • • • • • •
- Page 22 and 23: • • • • • • •
- Page 24 and 25: • • • • • •
- Page 26 and 27: • • • • • •
- Page 28 and 29: • • • • • •
- Page 30 and 31: • • • • • •
- Page 32 and 33: • • •
- Page 34 and 35: • • •
- Page 36 and 37: • • • • • •
- Page 38 and 39: • • • • • • •
- Page 40 and 41: • • •
- Page 42 and 43: • • • • • • •
- Page 44 and 45: • • •
- Page 46 and 47: • • • • • •
- Page 48 and 49: • • • •
- Page 50 and 51: • • • • • • •
©
©
©
• <br />
<br />
• <br />
<br />
• <br />
<br />
• <br />
<br />
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
<br />
• <br />
<br />
• <br />
<br />
• <br />
<br />
• <br />
• <br />
<br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
• <br />
• <br />
<br />
• <br />
• <br />
•
• <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
• <br />
<br />
• <br />
<br />
• <br />
<br />
• <br />
<br />
<br />
•
• <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
• <br />
•
• <br />
<br />
<br />
<br />
<br />
<br />
• <br />
• <br />
<br />
• <br />
•
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
<br />
• <br />
• <br />
<br />
• <br />
• <br />
<br />
<br />
•
• <br />
<br />
• <br />
• <br />
<br />
• <br />
• <br />
<br />
<br />
•
• <br />
<br />
• <br />
•
• <br />
<br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
<br />
<br />
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
<br />
<br />
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
<br />
<br />
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
<br />
<br />
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
<br />
<br />
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
<br />
<br />
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
<br />
<br />
• <br />
• <br />
<br />
•
• <br />
<br />
• <br />
•
• <br />
<br />
• <br />
•
• <br />
<br />
• <br />
•
• <br />
<br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
<br />
•
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
<br />
• <br />
•
• <br />
• <br />
•
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
• <br />
• <br />
<br />
•
• <br />
<br />
• <br />
<br />
• <br />
• <br />
• <br />
<br />
•
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
<br />
<br />
• <br />
•
• <br />
• <br />
• <br />
<br />
• <br />
<br />
<br />
• <br />
•
• <br />
• <br />
• <br />
<br />
• <br />
<br />
<br />
• <br />
•
• <br />
• <br />
• <br />
<br />
• <br />
<br />
<br />
• <br />
•
• <br />
• <br />
• <br />
<br />
• <br />
<br />
<br />
• <br />
•
• <br />
• <br />
• <br />
<br />
• <br />
<br />
<br />
• <br />
•
• <br />
• <br />
• <br />
<br />
• <br />
<br />
<br />
• <br />
•
• <br />
• <br />
• <br />
<br />
• <br />
<br />
<br />
• <br />
•
Addendum 1<br />
Bylaag 1<br />
Addendum 2<br />
Bylaag 2<br />
Addendum 3<br />
Bylaag 3<br />
Addendum 4<br />
Bylaag 4<br />
Additional study material<br />
Addisionele studiemateriaal<br />
Introduction to Computer Networks<br />
Inleiding tot Rekenaarnetwerke<br />
Pr<strong>of</strong>. G.R. Drevin<br />
NWU, Potchefstroomkampus<br />
Layer architecture in data networks: OSI, TCP/IP and X.25<br />
Laag-argitekture in datanetwerke: OSI, TCP/IP en X.25<br />
The physical layer<br />
Die fisiese laag<br />
The data link layer: Examples and analyses <strong>of</strong> protocols<br />
Die Dataverbindingslaag: Voorbeelde en analise van protokolle
Addendum 1<br />
Introduction to Computer<br />
Networks<br />
1.1 Analog and digital communication<br />
When we discuss the differences between analog and digital communication, it is<br />
important to note what the difference is between data, signals and transmission.<br />
Analog data assume continuous values. Examples <strong>of</strong> such analog data are sound,<br />
video and temperature. Digital data, on the other hand, have discrete values.<br />
Examples <strong>of</strong> discrete data are text and integer numbers.<br />
In a communication system, data are conveyed from one point to the next in<br />
the form <strong>of</strong> signals. Analog signals are electromagnetic waves which can vary<br />
continuously and which can be transmitted via a wide variety <strong>of</strong> media. Wire<br />
media like woven threads, coaxial cables, optical fibre as well as radio are some<br />
<strong>of</strong> the possiblities. Digital signals consist <strong>of</strong> electrical pulses transmitted via a<br />
wire medium. In this a constant voltage level is defined as one, while a second<br />
constant voltage represents a zero.<br />
The advantages <strong>of</strong> digital signals are that their processing costs less and that<br />
noise has less <strong>of</strong> a detrimental effect on them. The disadvantage <strong>of</strong> digital signals<br />
is that attenuation is more severe than for analog signals. (in the chapter on<br />
the physical layer, we shall come back to the matter <strong>of</strong> the attenuation <strong>of</strong> digital<br />
signals)<br />
It is possible to represent both digital and analog data by analog as well as<br />
digital signals.<br />
• To communicate digital data by means <strong>of</strong> aan analog signal, we make use<br />
<strong>of</strong> a modem to convert the data at one end <strong>of</strong> the communication line<br />
from a digital signal to an analog signal (to modulate it). At the other<br />
end, the analog signal then has to be converted back to a digital signal<br />
(be demodulated).<br />
• Analog signals are on their part converted by a CODEC to digital (are<br />
encoded) and converted back to analog (decoded). It is also possible for<br />
35
Bylaag 1<br />
Inleiding tot<br />
Rekenaarnetwerke<br />
1.1 Analoog en digitale data kommunikasie<br />
Wanneer die verskille tussen analoog en digitale kommunikasie bespreek word is<br />
dit belangrik om te let na die verskil wat ter sprake is met betrekking tot data,<br />
seine en transmissie.<br />
Data wat analoog is neem waardes aan wat kontinu is. Voorbeelde van data<br />
wat analoog is, is klank, video en temperatuur. Digital data aan die anderkant<br />
neem diskrete waardes aan. Voorbeelde van diskrete data is teks en heelgetalle.<br />
Data word in ’n kommunikasie stelsel in die vorm van seine van een punt na<br />
’n volgende oorgedra. Analoog seine is elektromagnetiese golwe wat kontinu<br />
varieer en oor ’n wye verskeidenheid media gestuur kan word. Draad media soos<br />
vlegpaar, koaksiale-kabels, asook optiese vesel en radio is almal moontlikhede.<br />
Digitale seine bestaan uit elektriese pulse wat oor ’n draad medium gestuur<br />
word. ’n Konstante spanningsvlak word dan as ’n een gedefinieer terwyl ’n<br />
tweede konstante spanningsvlak ’n nul voorstel.<br />
Die voordele van digitale seine is dat dit goedkoper is om te hanteer as analoog<br />
seine en dat ruis ’n minder nadelige uitwerking daarop het. Die nadeel van<br />
digitale seine is egter dat die effek van attenuasie (verswakking) ernstiger is as<br />
met analoog seine. (Daar sal in die ho<strong>of</strong>stuk oor die fisiese-laag weer aandag<br />
gegee word aan die attenuasie van digitale seine.)<br />
Dit is moontlik om analoog en digitale data kan deur beide analoog en digitale<br />
seine voor te stel.<br />
• Om digitale data deur middel van ’n analoog sein voor te stel word van ’n<br />
modem gebruik gemaak om die data aan die een kant van ’n digitale sein<br />
na ’n analoog sein om te skakel (moduleer) en aan die ander kant om die<br />
analoog sein weer na digitale data om te skakel (demoduleer).<br />
<br />
• Analoog seine word weer deur middel van ’n CODEC na digitaal omgeskakel<br />
(gekodeer) en na analoog teruggeskakel (dekodeer). Verder is dit ook<br />
35
1.1. ANALOG AND DIGITAL COMMUNICATION 37<br />
36 ADDENDUM 1. INTRODUCTION TO COMPUTER NETWORKS<br />
<br />
(integrated circuits). A similar drop in the price <strong>of</strong> analog electronics did<br />
not occur. It therefore becomes ever more cost effective to make use <strong>of</strong><br />
digital methods.<br />
analog data to be quantified to digital data, which is then presented as a<br />
digital signal.<br />
<br />
• Data integrity: The use <strong>of</strong> digital repeaters rather than analog amplifiers<br />
meant that noise became less <strong>of</strong> a problem.<br />
• Exploitation <strong>of</strong> capacity: It is simpler and cheaper to multiplex a<br />
number <strong>of</strong> signals and send them via a single high band-width channel.<br />
• Analog data is a function <strong>of</strong> time and as such it covers a limited frequency<br />
range. It is therefore possible to present the data directly as an electromagnetic<br />
signal with the same frequency range. Sound, for instance, has<br />
a frequency range from 20 Hz up to 20 kHz, in which speach occupies<br />
a much smaller range, i.e. 300 Hz to 3400 Hz. It is therefore sufficient<br />
for telephone networks to be processing signals in the range 300 Hz to<br />
3400 Hz.<br />
• Security: Encryption techniques may be used to protect digital data from<br />
unsolicited interception and alteration. The same is true, <strong>of</strong> course, for<br />
analog data that have been digitised.<br />
• Digital data, finally, may be presented as an electrical signal consisting <strong>of</strong><br />
two voltages.<br />
• Integration: It is becoming possible to transmit speech, video, pictures<br />
and digital data via the same system.<br />
Transmission means the exchange <strong>of</strong> data by the propagation and processing<br />
<strong>of</strong> signals. Analog signals (which may represent both analog and digital data),<br />
can be handled by analog transmission. However, it is possible for both analog<br />
signals (assuming that it represents digital data) and digital signals (which may<br />
represent analog and digital data) to be handled by digital transmission.<br />
It is important that you should note that the conversion <strong>of</strong> the telephone network<br />
to a digital network does not neccessarily mean that all transmission has to be<br />
in the form <strong>of</strong> digital signals. What is true, is that speech (analog data) has to<br />
be handled as digital data. A general technique is to digitise speech so that it is<br />
presented as a stream <strong>of</strong> binary numbers (bits, zero’s and one’s). This stream<br />
<strong>of</strong> bits, or rather, the digital signal is then reconverted to an analog signal by<br />
a modem and is then transmitted. At the reception end, the analog signal is<br />
received and converted by a modem to a digital signal. This digital signal is<br />
then converted to analog data to simulate the original speech. The analog signal<br />
used in the transmission, however, bears no resemblance to the original analog<br />
data; it is simply an encoded stream <strong>of</strong> bits.<br />
Analog transmission is carried out irrespective <strong>of</strong> the data contents <strong>of</strong> the signal.<br />
Analog data (voice) and digital data which has been converted by a modem<br />
to an analog signal, are treated identically. However, the analog signal will be<br />
attenuated in the process <strong>of</strong> being propagated, the more the longer the distance<br />
<strong>of</strong> transmission. The signal will therefore have to be amplified at regular intervals.<br />
In addition to attenuation, noise will be introduced. When the signal is<br />
amplified, the noise is also amplified. If such a signal is transmitted over a long<br />
distance and is therefore amplified many times, a considerable distortion will<br />
result. This is not a serious problem in the case <strong>of</strong> speech, but if digital data<br />
is transmitted (in the form <strong>of</strong> an analog signal) large distortion may result in<br />
errors.<br />
The digitising <strong>of</strong> speech is done by a technique known as PCM (pulse code<br />
modulation). This technique involves the sampling (measuring) <strong>of</strong> analog data<br />
at regular intervals. At each sampling the intensity <strong>of</strong> the data at that instant<br />
<strong>of</strong> time is measured. The rate at which the data is sampled, is determined by<br />
the Nyquist (sampling theorem). This theorem determines that data has to be<br />
sampled at a rate which is at least twice the highest frequency occuring in the<br />
data. If speech is limited to a maximum frequency <strong>of</strong> 4000 Hz, it means that<br />
the speech data have to be sampled at a rate <strong>of</strong> 8000 times per second. The<br />
samples taken is, however, still <strong>of</strong> analog nature. It is therefore neccessary to<br />
subdivide the range <strong>of</strong> intensity into a number <strong>of</strong> intervals numbered from (say)<br />
0 tot n. At each sampling, the interval is determined in which the intensity<br />
lies. The number <strong>of</strong> the interval then determines the value <strong>of</strong> the sample. If the<br />
intensity ange is subdivided into 256 intervals, each sample can be expressed<br />
as an 8-bit number. This subdivision produces satisfactory results for speech.<br />
Therefore, to handle speech as digital data, a data rate <strong>of</strong> 64 kbps (8000 samples<br />
per second multiplied by 8 bits per second = 64000 bits per second) is required.<br />
To handle the signal for a colour TV, with maximum frequency <strong>of</strong> 3.6 MHz and<br />
10 bits resolution (1024 colours), a data rate <strong>of</strong> 72 Mbps is required.<br />
In the case <strong>of</strong> digital transmission, on the other hand, a distinction is made<br />
between analog signals and digital signals. Seeing that attenuation is a major<br />
problem in the handling <strong>of</strong> digital signals, repeaters are employed (not amplifiers)<br />
at regular distances. A repeater receives the digital signal, recovers the<br />
binary (zero’s and one’s) pattern, and then sends a new digital signal forward<br />
corresponding to the binary pattern. In the case <strong>of</strong> analog signals, it is assumed<br />
that the signals represent digital data. The repeaters therefore receives the analog<br />
signal and converts this signal to a digital signal (by means <strong>of</strong> a modem)<br />
and then reconvert the digital signal to a new, clean and noise-free analog signal<br />
(again by means <strong>of</strong> a modulator). There is no accumulation <strong>of</strong> noise, and the<br />
data can thus be transmitted over a very long distance.<br />
Traditionally the telephone network made use <strong>of</strong> analog transmission <strong>of</strong> analog<br />
signals representing analog data. The introduction <strong>of</strong> computers however, necessitated<br />
the handling <strong>of</strong> analog signals representing digital data by the telephone<br />
network. This did not require any change to the network. However, the tendency<br />
is lately to increasingly use digital transmission, and if possible, <strong>of</strong> digital<br />
signals. The reasons for this change to the well established infrastructure are:<br />
Variations in the PCM technique made it possible that already by 1987 speech<br />
with a data rate <strong>of</strong> 16 kbps could be done. For video use is also made <strong>of</strong> the<br />
fact that the data <strong>of</strong>ten varies little from frame to frame. Then, by means <strong>of</strong><br />
an interframe coding the data rate could be reduced to 1.5 Mbps. By 1988<br />
• Cost: As a result <strong>of</strong> the development in VLSI (very large scale integration)<br />
technology, a significant drop occurred in the cost <strong>of</strong> digital IC’s
1.1. ANALOOG EN DIGITALE DATA KOMMUNIKASIE 37<br />
36 BYLAAG 1. INLEIDING TOT REKENAARNETWERKE<br />
(geïntegreerde stroombane). Dieselfde daling in koste kom egter nie voor<br />
by analoog elektronika nie. Dit raak dus al hoe goedkoper om dinge digitaal<br />
te doen.<br />
moontlik om analoog data te versyfer na digitale data wat dan as ’n digitale<br />
sein voorgestel kan word.<br />
• Data integriteit: Met die gebruik van digitale herhalers in plaas van<br />
analoog versterkers is die invloed van ruis ’n baie kleiner faktor.<br />
• Benutting van kapasiteit: Dit is eenvoudiger en goedkoper om ’n aantal<br />
seine te multiplekseer om dit oor ’n enkele hoë bandwydte kanaal te stuur.<br />
• Analoog data is ’n funksie van tyd en as sulks beslaan dit gewoonlik ’n<br />
beperkte frekwensie spektrum. Dit is dus moontlik om die data direk as ’n<br />
elektromagnetiese (analoog) sein met dieselfde frekwensie spektrum voor<br />
te stel. So is klank se frekwensie spektrum 20 Hz tot 20 kHz met spraak<br />
wat ’n veel kleiner spektrum, nl. 300 Hz tot 3400 Hz, beslaan. Dit is dus<br />
voldoende dat die telefoonnetwerk elektromagnetiese seine in gebied van<br />
300 Hz tot 3400 Hz kan hanteer.<br />
• Sekuriteit: Dit is moontlik om enkripsie tegnieke te gebruik om digitale<br />
data te beskerm teen ongemagtigde onderskepping en verandering. Dit<br />
geld natuurlik ook vir analoog data wat versyfer is.<br />
• Digitale data kan laastens direk as ’n twee spannings vlak elektriese sein<br />
voorgestel word.<br />
• Integrasie: Dit raak al hoe meer moontlik om spraak, video, beelde en<br />
digitale data oor dieselfde stelsel te stuur.<br />
Dit is belangrik om op te let dat die verandering van die telefoonnetwerk na ’n<br />
digitale netwerk nie noodwendig beteken dat alles in die vorm van digitale seine<br />
hanteer word nie. Dit is wel nodig dat spraak (analoog data) as digitale data<br />
hanteer word. ’n Algemene tegniek is om die spraak te versyfer sodat dit deur<br />
’n stroom binêre syfers (bisse, nulle en ene) voorgestel word. Hierdie stroom<br />
bisse, <strong>of</strong> digitale sein, word dan weer deur middel van ’n modem omgeskakel na<br />
’n analoog sein wat dan gestuur word. Aan die ontvang kant word die analoog<br />
sein ontvang en deur middel van ’n modem teruggeskakel na ’n digitale sein.<br />
Hierdie digitale sein word dan na analoog data teruggeskakel om die oorspronklike<br />
spraak te approksimeer. Die analoog sein wat gestuur word toon egter geen<br />
ooreenkoms met die oorspronklike analoog data nie, dit is slegs ’n enkodering<br />
van ’n bisstroom.<br />
Transmissie behels die uitruil van data deur middel van die voortplanting en<br />
bewerking van seine. Analoog seine (wat beide analoog en digitale data voorstel)<br />
kan deur middel van analoog transmissie hanteer word. Dit is egter moontlik<br />
om beide analoog seine (word aanvaar dat dit digitale data is) en digitale seine<br />
(analoog en digitale data) deur middel van digitale transmissie te hanteer.<br />
Analoog transmissie vind plaas sonder inagneming van die inhoud van die data,<br />
analoog data (stem) en digital data, wat deur middel van ’n modem na ’n<br />
analoog sein omgeskakel is, word op dieselfde wyse hanteer. Die analoog sein<br />
ondergaan egter geattenuasie tydens voortplanting, en hoe verder dit gestuur<br />
word hoe groter die verswakking, dus moet die sein op gereelde intervalle versterk<br />
word. Behalwe dat attenuasie plaasvind word ruis ook opgetel. Wanneer<br />
die sein versterk word word die ruis dus ook versterk. Indien die sein oor ’n<br />
groot afstand gestuur word en dus ’n aantal keer versterk word, kan daar dus ’n<br />
groot mate van distorsie voorkom. In die geval van spraak is dit nie ’n ernstige<br />
probleem nie, maar waar digitale data gestuur word (as ’n analoog sein) kan ’n<br />
groot mate van distorsie foute veroorsaak.<br />
Die versyfering van die spraak word deur middel van ’n tegniek wat as PCM<br />
(pulse code modulation) bekend staan gedoen. Hierdie tegniek behels die monstering<br />
(meting) van analoog data op gereelde intervalle. Met elke monstering<br />
word die intensiteit van die data op daardie tydstip bepaal. Die tempo waarteen<br />
die data gemonster word, word deur die Nyquist monstering stelling (sampling<br />
theorem) bepaal. Volgens hierdie stelling moet data teen ten minste twee maal<br />
die hoogste frekwensie wat daarin voorkom gemonster word. Beperk ons dus<br />
spraak tot ’n maksimum frekwensie van 4000 Hz beteken dit dat ons die spraak<br />
data 8000 maal per sekonde moet monster. Die monsters wat geneem word<br />
is egter nog analoog van aard. Dit is dus ook nodig om die intensiteit bestek<br />
op te deel in ’n aantal intervalle wat van (sê) 0 tot n genommer is. Elke keer<br />
wat die data gemonster word, word daar gekyk in watter interval die intensiteit<br />
op daardie tydstip val. Die monster se waarde is dan die nommer van die betrokke<br />
interval. Indien die intensiteit bestek opgedeel word in 256 intervalle is<br />
dit moontlik om elke monster as ’n 8-bis getal voor te stel. Hierdie indeling<br />
lewer aanvaarbare resultate vir spraak. Om spraak dus as digitale data te kan<br />
hanteer word ’n datatempo van 64 kbps (8000 monsters per sekonde maal 8<br />
bisse per monster = 64000 bisse per sekonde) vereis. Om ’n kleur TV sein met<br />
’n maksimum frekwensie van 3.6 MHz en 10 bis resolusie (1024 kleure) te kan<br />
hanteer is ’n datatempo van 72 Mbps nodig.<br />
Met digitale transmissie word daar egter ’n onderskeid getref tussen analoog<br />
seine en digitale seine. Aangesien attenuasie ’n groot probleem is by die hantering<br />
van digitale seine word herhalers (nie versterkers) op gereelde afstande gebruik.<br />
’n Herhaler ontvang die digitale sein, herwin die binêre (nulle en ene)<br />
patroon en stuur dan weer ’n nuwe digitale sein wat met die binêre patroon<br />
ooreenstem uit. In die geval van analoog seine word aanvaar dat die seine digitale<br />
data voorstel. Die herhalers ontvang dus die analoog sein, skakel dit om<br />
na ’n digitale sein (dmv ’n modem) en skakel dan weer die digitale sein om na<br />
’n nuwe skoon en ruislose analoog sein (weer dmv ’n modulator). Daar is nie ’n<br />
opbouing van ruis en data kan dus oor ’n lang afstand gestuur word.<br />
Die tradisionele telefoonnetwerk het gebruik gemaak van analoog transmissie<br />
van analoog seine wat analoog data voorstel. Met die koms van die rekenaar<br />
het dit nodig geword vir die telefoonnetwerk om ook analoog seine wat digitale<br />
data voorstel te hanteer. Dit het egter geen verandering aan die telefoonnetwerk<br />
vereis nie. Die neiging is egter nou om al meer van digitale transmissie gebruik<br />
te maak, en waar moontlik van digitale seine. Die redes vir hierdie verandering<br />
aan ’n geweldige groot bestaande infrastruktuur is:<br />
<br />
Variasies in PCM tegniek het tot gevolg gehad dat spraak met datatempos van<br />
16 kbps reeds teen 1987 moontlik was. Met video word daar ook van die feit dat<br />
• Koste: As gevolg van die ontwikkeling in VLSI (very large scale integration)<br />
tegnologie is daar ’n groot daling in die koste van digitale IC’s
1.1. ANALOG AND DIGITAL COMMUNICATION 39<br />
38 ADDENDUM 1. INTRODUCTION TO COMPUTER NETWORKS<br />
<br />
Service Number Data rate Combinations<br />
Channels (Mbps) T1 T1C T2<br />
T1 24 1.544<br />
T1C 48 3.152 2<br />
T2 96 6.312 4 2<br />
T3 672 44.736 28 14 7<br />
T4 4032 274.176 168 84 42<br />
commercial video-conferencing equipment with data rates <strong>of</strong> 64 kbps became<br />
available.<br />
<br />
As we have mentioned, multiplexing was one <strong>of</strong> the reasons why the telephone<br />
network was converted to digital. Multiplexing is widely used for the following<br />
two reasons:<br />
Table 1.1: AT&T TDM carrier services<br />
• The cost effectiveness <strong>of</strong> equipment improves as the data rate increases.<br />
In other words, the cost <strong>of</strong> equipment per kbps decreases as the data rate<br />
increases.<br />
Level Number Data rate<br />
Channels (Mbps)<br />
1 30 2.048<br />
2 120 8.448<br />
3 480 34.368<br />
4 1920 139.264<br />
5 7680 565.148<br />
• Most equipment requires a much lower data rate than that <strong>of</strong>fered by<br />
the communication channel. There is therefor a lot <strong>of</strong> unused (surplus)<br />
capacity if only one set <strong>of</strong> apparatus communicates over a specific channel.<br />
Multiplexing may be done in two ways:<br />
Table 1.2: ITU-T TDM carrier services<br />
• FDM: Frequency-division multiplexing. In this process the frequency spectrum<br />
<strong>of</strong> the channel is subdivided into a number <strong>of</strong> channels where the<br />
frequency range <strong>of</strong> each is much smaller than the original one. Each signal<br />
that is transmitted, is then modulated by a different carrier wave.<br />
into 24 channels for voice, each at 64 kbps. Each frame is 193 bits long and<br />
consists <strong>of</strong> 8 bits per channel (192 bits for 24 channels) plus one framing<br />
bit which is used for synchronisation. For voice connections each channel<br />
contains one byte <strong>of</strong> digitised speech data. The speech is digitised by<br />
means <strong>of</strong> PCM at a rate <strong>of</strong> 8000 samples per second and a resolution <strong>of</strong> 8<br />
bits per sample. The frames therefore have to be transmitted at a rate <strong>of</strong><br />
8000 frames per second. For frame lengths <strong>of</strong> 193 bits, this rate requires<br />
a data rate <strong>of</strong> 1.544 Mbps. The same T1 structure may also be used for<br />
handling digital data exclusively as well as for a mixture <strong>of</strong> speech and<br />
digital data. More than one T1 structure may be combined if a higher<br />
rate connection is available. The different possibilities are illustrated in<br />
table 1.1.<br />
• TDM: Time-division multiplexing. By this technique the time is divided<br />
into a number <strong>of</strong> time slots. The signals are then sent piece-by-piece in<br />
turns. The available data rate is then much higher than that required.<br />
Suppose we have 8 sources, each requiring a data rate <strong>of</strong> 8 kbps. All 8<br />
sources can then be served by a single mdium that can handle 64 kbps.<br />
The division can be done on the bit-level, or on the byte-level (or on any<br />
other level!). For the bit-level division one bit <strong>of</strong> each source is sent in<br />
turn. As soon as one bit from each source had been sent, the next bit from<br />
every source is sent, etc. For the byte-level division one byte from each<br />
source is sent in turn. A time slot is therefore allocated to each source.<br />
The series <strong>of</strong> time slots for each source is known as a channel, while one<br />
cycle <strong>of</strong> time-slots (one per source) is called a frame. In the instance where<br />
a fixed time slot from each frame is assigned to each source, we have what<br />
is called a synchrone TDM. This technique is the simpler and cheaper<br />
one <strong>of</strong> the two and this is therefore the technique that is used in the new<br />
digital telephone network.<br />
• A second system <strong>of</strong> this nature has been proposed as the standard system,<br />
by the CCITT (Comité Consultatif International de Télégraphique et<br />
Téléphonique) or rather the Telecommunications Standards Sector <strong>of</strong> the<br />
ITU (International Telecommunication Union), called the ITU-T. 1 The<br />
basic system handles a data rate <strong>of</strong> 2.048 Mbps, divided into 30 channels.<br />
The details <strong>of</strong> the system is summarised in table 1.2. This system is being<br />
used in the rest <strong>of</strong> the world.<br />
Digital switching systems have also been developed since the middle <strong>of</strong> the 70’s.<br />
When the telephone network has been completely digitised, it will be possible<br />
to send all types <strong>of</strong> data via the telephone network. This includes interactive<br />
data, communication between computers (such as transmission <strong>of</strong> files), digital<br />
voice and digital pictures. One possibility will therefore be “voice mail” where<br />
Digital transmission is being used more and more in telephone networks. AT&T<br />
(American Telephone & Telegraph) introduced the first commercial digital service<br />
in the USA as early as the 1960’s. It was soon followed by similar services<br />
in other countries. The trend is to move increasingly towards a situation where<br />
the telephone network will be fully digital so that it can provide the services <strong>of</strong><br />
both telephone and computer networks. In this way the simultaneous transmission<br />
<strong>of</strong> speech and data will be possible. There are mainly two systems that<br />
have been installed over the world, i.e.:<br />
1 The ITU-T has been established on 1 March 1993 and it replaced the CCITT. The ITU-T<br />
is part <strong>of</strong> the ITU which again is a specialised agency <strong>of</strong> the United Nations Organisation.<br />
• The AT&T system, used mainly in the USA, Canada and Japan, consisting<br />
<strong>of</strong> a hierarchy <strong>of</strong> TDM partitions with different data rates. The basic<br />
partition, T1, makes provision for a data rate <strong>of</strong> 1.544 Mbps, subdivided
1.1. ANALOOG EN DIGITALE DATA KOMMUNIKASIE 39<br />
38 BYLAAG 1. INLEIDING TOT REKENAARNETWERKE<br />
Diens Aantal Datatempo Kombinasies<br />
Kanale (Mbps) T1 T1C T2<br />
T1 24 1.544<br />
T1C 48 3.152 2<br />
T2 96 6.312 4 2<br />
T3 672 44.736 28 14 7<br />
T4 4032 274.176 168 84 42<br />
die data min van raam tot raam verskil gebruik gemaak om deur middel van<br />
tussenraam kodering tegnieke die benodigde datatempo af te bring na 1.5 Mbps.<br />
Teen 1988 was kommersiële video-konferensie toerusting met datatempos van<br />
64 kbps beskikbaar.<br />
Dit is reeds genoem dat multipleksering een van die redes is vir die omskakeling<br />
van die telefoonnetwerk na digitaal. Multipleksering word wyd gebruik om die<br />
volgende twee redes:<br />
Table 1.1: AT&T TDM draer dienste<br />
• Die koste effektiwiteit van toerusting neem toe soos die datatempo toeneem.<br />
Met ander woorde, die koste van toerusting per kbps neem af soos<br />
die datatempo toeneem.<br />
Vlak Aantal Datatempo<br />
Kanale (Mbps)<br />
1 30 2.048<br />
2 120 8.448<br />
3 480 34.368<br />
4 1920 139.264<br />
5 7680 565.148<br />
• Meeste toerusting benodig ’n baie laer datatempo as wat deur die kommunikasie<br />
kanaal gebied word. Daar is dus baie onbenutte kapasiteit indien<br />
slegs een stel apparate oor ’n kanaal kommunikeer.<br />
Multipleksering kan op twee wyses gedoen word:<br />
Table 1.2: ITU-T TDM draer dienste<br />
• FDM: Frekwensie-deel multipleksering. Hier word die frekwensie spektrum<br />
van die kanaal opgedeel in ’n klomp kanale waar die frekwensie spektrum<br />
van elkeen baie kleiner is as die oorspronklikke. Elke sein wat dan gestuur<br />
word, word met ’n ander dra-golf gemodduleer.<br />
• Die AT&T stelsel wat ho<strong>of</strong>saaklik in die VSA, Kanada en Japan gebruik<br />
word bestaan uit ’n hierargie van TDM indelings met verskillende<br />
datatempos. Die basiese indeling, T1, het ’n datatempo van 1.544 Mbps<br />
wat opgedeel is in 24 stem kanale van 64 kbps elk. Elke raam is 193 bisse<br />
lank en is opgebou uit 8 bisse per kanaal (192 bisse vir 24 kanale) plus<br />
een ramingsbis wat vir sinkronisasie gebruik word. Vir stem verbindings<br />
bevat elke kanaal een greep versyferde spraak data. Die spraak word deur<br />
middel van PCM versyfer teen ’n tempo van 8000 monsters per sekonde<br />
en ’n resolusie van 8 bisse per monster. Die rame moet dus teen ’n tempo<br />
van 8000 rame per sekonde gestuur word. Met ’n raam lengte van 193<br />
bisse vereis dit dus ’n datatempo van 1.544 Mbps. Dieselfde T1 struktuur<br />
kan ook gebruik word vir die hantering van digitale data alleen asook vir<br />
’n mengsel van spraak en digitale data. Meer as een T1 struktuur kan<br />
gekombineer word indien ’n hoër tempo verbinding beskikbaar is. Die<br />
verskillende moontlikhede word in tabel 1.1 getoon.<br />
• ’n Tweede soortgelyke stelsel is deur die CCITT (Comité Consultatif International<br />
de Télégraphique et Téléphonique) <strong>of</strong> die ITU (International<br />
Telecommunication Union) se Telekommunikasie Standaarde Sector, die<br />
ITU-T 1 , as ’n standaard voorgestel. Die basiese stelsel kan ’n datatempo<br />
van 2.048 Mbps hanteer wat in 30 kanale opgedeel is. Die volledige stelsel<br />
word in tabel 1.2 saamgevat. Hierdie stelsel word in die res van die wêreld<br />
gebruik.<br />
• TDM: Tyddeel multipleksering. Met hierdie tegniek word tyd weer in<br />
’n aantal gleuwe opgedeel. Die seine word dan stukkie vir stukkie om<br />
die beurt gestuur. Die beskikbare datatempo is dus veel hoër as wat<br />
benodig word. Die data van ’n aantal bronne word dan om die beurt<br />
gestuur. Gestel dus dat ons 8 bronne het wat elk ’n datatempo van 8 kbps<br />
benodig. Dit is dan moontlik om al 8 bronne te bedien met ’n enkele<br />
medium wat 64 kbps kan hanteer. Die indeling kan op bis vlak <strong>of</strong> greep<br />
vlak (<strong>of</strong> enige ander vlak!) gedoen word. Met ’n bis vlak indeling word<br />
daar een bis van elke bron om die beurt gestuur. Sodra ’n bis van al die<br />
bronne gestuur is word die volgende bis van elke bron gestuur ens. Met ’n<br />
greep vlak indeling word daar weer ’n greep van elke bron om die beurt<br />
gestuur. Daar word dus ’n tydgleuf aan elke bron toegeken. Die reeks<br />
tydgleuwe van ’n spesifieke bron staan as ’n kanaal bekend terwyl een<br />
siklus van tydgleuwe (een per bron) as ’n raam bekend staan. Indien ’n<br />
vaste tydgleuf uit elke raam aan ’n spesifieke kanaal toegeken word staan<br />
die tegniek as sinkrone TDM bekend. Hierdie tegniek is die eenvoudiger<br />
en goedkoper van die twee en is dan ook die tegniek wat met die nuwe<br />
digitale telefoonnetwerk gebruik word.<br />
Digitale skakel stelsels is ook sedert die middel 1970’s ontwikkel.<br />
Sodra die telefoonnetwerk volledig digitaal geword het sal alle tipes data oor<br />
1 Die ITU-T is op 1 Maart 1993 geskep en vervang die CCITT. Die ITU-T is deel van die<br />
ITU wat weer ’n gespesialiseerde agentskap van die VN is.<br />
Digitale transmissie word al hoe meer gebruik vir die telefoonnetwerk. Reeds in<br />
die 1960’s het AT&T (American Telephone & Telegraph) die eerste kommersiële<br />
digitale diens in die VSA begin en is gou gevolg deur soortgelyke dienste in ander<br />
lande. Daar word dus toenemend beweeg na ’n situasie waar die telefoonnetwerk<br />
ten volle digitaal is en dus die dienste van beide telefoon- en rekenaar-netwerke<br />
kan lewer om sodoende die gelyktydige transmissie van spraak en data moontlik<br />
te maak. Daar is dan ook tans ho<strong>of</strong>saaklik twee stelsels wat wêreldwyd<br />
geïnstalleer is nl.:
1.2. INTERCONNECTION OF NETWORKS 41<br />
40 ADDENDUM 1. INTRODUCTION TO COMPUTER NETWORKS<br />
a verbal message may be stored at its destination on disk.<br />
<br />
operations that was open, but rather the mechanism <strong>of</strong> communication<br />
between the systems. We shall go into the details <strong>of</strong> the OSI model at a<br />
later stage.<br />
<br />
1.1.1 Circuit and parcket connection<br />
• The third event was the project embarked on and funded by the Advanced<br />
Research Projects Agency (ARPA) <strong>of</strong> the defence department <strong>of</strong> the USA.<br />
The work was started in the 60’s and continued in the 70’s, and it led to<br />
a data communication network, called ARPAnet. The basic concept was<br />
that host computers with specialised capabilities were connected in the<br />
network. Users all over the USA should them be able to log in on any <strong>of</strong><br />
the hosts and make use <strong>of</strong> the specialised s<strong>of</strong>tware or the number crunching<br />
capabilities <strong>of</strong> that particular host computer. A backbone communication<br />
network had to be developed to connect the hosts and for this use was<br />
made <strong>of</strong> packet switching. On the network layer they developed communication<br />
processors which could connect with a host on one side and on the<br />
other could route packets along the network. Algorithms were developed<br />
to do the routing and to control the flow <strong>of</strong> data. The ARPA workers were<br />
the first to use the word packet, to distinguish between the longer messages<br />
sent by the hosts over the network, and the multiple shorter blocks into<br />
which the messages were divided to improve the network traffic and the<br />
performance <strong>of</strong> the network. This gave rise to the name <strong>of</strong> packet switch<br />
for the communication processors.<br />
The telephone network is an example <strong>of</strong> a circuit switched connected network.<br />
A dedicated connection is set up between two users who desire to communicate<br />
with each other. In this case we have a point-to-point connection. However, the<br />
possibility is also investigated to have real time voice communication by means<br />
<strong>of</strong> packets over a packet-switched network.<br />
Packet switched networks originated when large main frame computers (or host<br />
computers) were developed in the 1960’s. During that time the development<br />
<strong>of</strong> networks was initiated to share the extravagant cost <strong>of</strong> both hardware and<br />
s<strong>of</strong>tware, which were extremely high for such large systems. Three events taking<br />
place almost simultaneously, were responsible for the rapid development <strong>of</strong><br />
packet switched networks:<br />
ARPAnet has also been developed as a layered architecture with so-called<br />
higher level protocols to enable different kinds <strong>of</strong> hosts to communicate<br />
with each other. The lower level protocols, on the other hand, were responsible<br />
for a satisfactory point-to-point delivery service. (Computers<br />
communicate with each other according to a fixed set <strong>of</strong> rules. Such a set<br />
<strong>of</strong> rules is known as a protocol. A group <strong>of</strong> protocols, which all belong to<br />
a specific model, is called a protocol suite.)<br />
• During the 1960’s companies started selling time sharing (on computers!)<br />
that enabled users to get access by terminals to the host computers <strong>of</strong><br />
these companies at relatively low cost. To do this, the companies had to<br />
delvelop networks that would enable users over a wide geographic area<br />
to communicate with the host. Examples <strong>of</strong> such companies are General<br />
Electric Information Services and Tymshare. The network <strong>of</strong> the last company,<br />
known as TYMNET gives access to the computers <strong>of</strong> the company,<br />
spread all over the USA and is one <strong>of</strong> the main public packet switched<br />
networks in the USA. It has more than 1000 switching nodes and as such<br />
it was possibly the largest network in the world.<br />
This work on data transmission by means <strong>of</strong> packet switched networks, led to the<br />
development <strong>of</strong> standards by the CCITT. In 1976 they proposed an architecture<br />
for packet switching consisting <strong>of</strong> a three-layer interfacing. The standard was<br />
called X.25 and this was used ever since for most packet switching networks.<br />
We shall discuss X.25 at a later stage.<br />
1.2 Interconnection <strong>of</strong> networks<br />
• The suppliers <strong>of</strong> computers also had a large share in the development <strong>of</strong><br />
packet switched networks. They have developed inter alia specialised communication<br />
processors that removed the burden <strong>of</strong> communication from<br />
the host computer. They have also developed communication s<strong>of</strong>tware.<br />
The most important contribution, however, was the inroduction and development<br />
<strong>of</strong> layered communication architecture. These developments<br />
by computer suppliers have enabled terminals, communication processors,<br />
computers and applications s<strong>of</strong>tware running on these computers, to communicate<br />
with each other. IBM has, for instance, developed it’s Systems<br />
Network Architecture (SNA) during the late 1960’s and has formally announced<br />
it together with products running on it, during 1974. This architecture<br />
has since been continuously developed. Other examples were<br />
Digital Equipment Corporation with DNA and Burroughs with BNA.<br />
There are thousands <strong>of</strong> networks in use all over the world and new ones are being<br />
installed daily. These networks vary from local-area-networks serving a single<br />
building, to networks going around the world. Interconnections <strong>of</strong> networks<br />
are being done increasingly, in order to enable users <strong>of</strong> different networks to<br />
cooperate. The internet has experienced tremendous growth in recent times.<br />
When networks are connected, the following are required:<br />
• Provision must be made for communication between the networks. The<br />
minimum requirement is that communication between the networks should<br />
at least be possible on the physical layer and data link layer (or equivalent).<br />
These communication architectures enabled communication within families<br />
<strong>of</strong> computer systems, but between systems <strong>of</strong> different manufacturers,<br />
silence reigned. This state <strong>of</strong> affairs forced the International Standards<br />
Organisation (ISO) to set up a task group whose task was to establish a<br />
global communication architecture that would enable communication between<br />
different systems. They started with this mission in 1978 and this<br />
led in 1980 to a proposal for a reference model for Open Systems Interconnection<br />
or OSI, which was approved as international standard during May<br />
1983. It is important that one should note that it was not the internal
1.2. TUSSENVERBINDING VAN NETWERKE 41<br />
40 BYLAAG 1. INLEIDING TOT REKENAARNETWERKE<br />
’n taakgroep in die lewe te bring wat kon kyk na die ontwikkeling van<br />
’n wêreldwye kommunikasie argitektuur standaard wat oop kommunikasie<br />
tussen stelsels sou moontlik maak. Die werk is in 1978 begin en het in<br />
1980 gelei tot ’n voorstel vir ’n verwysings model vir Open Systems Interconnection<br />
<strong>of</strong> OSI wat in Mei 1983 as internasionale standaard goedgekeur<br />
is. Dit is belangrik om daarop te let dat dit nie die interne werking van<br />
stelsels is wat oop is nie, maar wel die kommunikasie meganisme tussen<br />
die stelsels. Daar sal later in meer detail na die OSI model gekyk word.<br />
die telefoonnetwerk gestuur kan word. Dit sluit in interaktiewe data, kommunikasie<br />
tussen rekenaars (bv. lêeroordragte), digitale stem en digitale beeld.<br />
’n Moonlikheid is dus nou ook “spraak-pos” waar ’n verbale boodskap by die<br />
bestemming op skyf gestoor kan word.<br />
1.1.1 Kring en pakket skakeling<br />
• Die derde gebeurtenis was die werk wat deur die Advanced Research<br />
Projects Agency (ARPA) van die VSA se verdedigings departement begin<br />
en befonds is. Hierdie werk wat ook in die 1960’s begin is en deur die 1970’s<br />
voortgesit is, het gelei tot ’n data kommunikasie-netwerk, ARPAnet. Die<br />
basiese konsep was dat gasheer rekenaars met gespesialiseerde vermoëns<br />
in die netwerk verbind word. Gebruikers regdeur die VSA sou dan kon<br />
inskakel op enige van die gashere en van die betrokke gasheer se gespesialiseerde<br />
programmatuur <strong>of</strong> number-crunshing vermoë gebruik maak. ’n<br />
Ruggraat (backbone) kommunikasie-netwerk moes ontwikkel word om die<br />
gashere te verbind, hier is dan ook van pakketskakeling gebruik gemaak.<br />
Op die netwerklaag is kommunikasie verwerkers ontwikkel wat aan die een<br />
kant in staat was om te koppel met ’n gasheer en aan die ander kant in<br />
staat was om pakkette langs die netwerk te roeteer. Roetering en vloei<br />
beheer algoritmes is hiervoor ontwikkel. Die term pakket is dan ook eerste<br />
deur die ARPA werkers gebruik om te onderskei tussen die langer boodskappe<br />
wat deur die gashere op die netwerk uitestuur is en die veelvuldige<br />
korter blokke waarin die boodskappe opgebreek is om netwerk verkeer en<br />
werkverrigting te verbeter. Dit het weer gelei tot die term pakketskakel<br />
vir die kommunikasie verwerkers.<br />
Die telefoonnetwerk is ’n voorbeeld van ’n kring geskakelde netwerk. ’n Gededikeerde<br />
verbinding word dus tussen die twee gebruikers wat met mekaar wil kommunikeer<br />
opgestel. Ons het hier dus ’n punt-tot-punt verbinding. Daar word<br />
egter ook studies gedoen om die moontlikheid van intydse stem kommunikasie<br />
deur middel van pakkette oor ’n pakket geskakelde netwerk te ondersoek.<br />
Pakket geskakelde netwerke het begin ontstaan met die ontwikkeling van groot<br />
ho<strong>of</strong>raam <strong>of</strong> gasheer (host) rekenaars in die 1960’s. In ’n poging om die koste<br />
van beide apparatuur en programmatuur, wat baie hoog was met hierdie groot<br />
stelsels, te deel is daar begin met die ontwikkeling van netwerke. Daar is veral<br />
drie gebeurtenisse wat omtrent gelyktydig plaasgevind het wat verantwoordelik<br />
was vir die snelle ontwikkeling van pakket geskakelde netwerke:<br />
• Gedurende die 1960’s het tyddeel (rekenaar tyd!) maatskappye ontstaan<br />
wat gebruikers in staat gestel het om deur middel van terminale toegang<br />
tot hierdie maatskappye se gasheer rekenaars te verkry teen ’n relatiewe<br />
lae koste. Die maatskappye moes egter netwerke ontwikkel om gebruikers<br />
oor ’n wye geografiese area in staat te stel om met die betrokke gasheer<br />
te kommunikeer. Voorbeelde van sulke maatskappye is General Electric<br />
Information Services en Tymshare. Laasgenoemde maatskappy se netwerk<br />
wat as TYMNET bekend staan verleen toegang tot die maatskappy se<br />
rekenaars wat regoor die VSA versprei is en is een van die ho<strong>of</strong> publieke<br />
pakket geskakelde netwerke in die VSA. Met meer as 1000 skakelings nodes<br />
is dit dan dalk ook die grootste netwerk in die wêreld.<br />
ARPAnet is ook as ’n gelaagde argitektuur ontwikkel met sogenaamde hoër<br />
vlak protokolle wat verskillende tipes gashere in staat gestel het om met<br />
mekaar te kommunikeer. Aan die ander kant was die laer vlak protokolle<br />
verantwoordelik vir ’n aanvaarbare punt-tot-punt pakket aflewerings diens.<br />
(Rekenaars kommunikeer met mekaar volgens ’n vasgestelde versameling<br />
reëls. So ’n versameling reëls staan as ’n protokol bekend. ’n Groep<br />
protokolle wat almal aan ’n spesifieke model behoort staan as ’n protokol<br />
suite bekend.)<br />
Hierdie werk in data transmissie deur middel van pakket geskakelde netwerke<br />
het ook die ontwikkeling van standaarde deur die CCITT aan die gang gesit.<br />
Hulle het in 1976 ’n voorstel gemaak vir ’n drie laag koppelvlak argitektuur<br />
vir pakketskakeling. Die standaard is X.25 genoem en is sedertdien vir meeste<br />
pakketskakeling netwerke gebruik. Ons sal weer later terugkom na X.25.<br />
1.2 Tussenverbinding van netwerke<br />
• Die rekenaarverskaffers het ook ’n groot aandeel gehad in die ontwikkeling<br />
van pakket geskakelde netwerke. Hulle het onder andere gespesialiseerde<br />
kommunikasie verwerkers ontwikkel wat die las van kommunikasie weg<br />
van die gasheer rekenaar geneem het. Verder het hulle ook kommunikasie<br />
programmatuur ontwikkel. Die belangrikste bydrae wat gelewer was was<br />
egter die invoer en ontwikkeling van gelaagde kommunikasie argitekture.<br />
Hierdie ontwikkelings van die kant van die rekenaar verskaffers het terminale,<br />
kommunikasie verwerkers, rekenaars en toepassings programmatuur<br />
wat op hierdie rekenaars geloop het in staat gestel om met mekaar te<br />
kommunikeer. So het IBM bv. sy Systems Network Architecture (SNA)<br />
in die laat 1960’s ontwikkel en tesame met produkte wat daarop geloop het<br />
formeel in 1974 bekend gestel. Hierdie argitektuur het egter sedert dien<br />
aanhou ontwikkel. Daar was dan ook Digital Equipment Corporation met<br />
DNA en Burroughs met BNA.<br />
Daar is reeds duisende netwerke wat wêreldwyd in gebruik is en daar word<br />
daagliks nog netwerke geïnstalleer. Hierdie netwerke wissel van lokale-areanetwerke<br />
wat individiueele geboue bedien tot netwerke wat reg oor die aardbol<br />
Hierdie kommunikasie argitekture het kommunikasie binne families van<br />
rekenaar stelsels moontlik gemaak, maar tussen stelsels van verskillende<br />
verskaffers het daar ’n doodse stilte geheers. Hierdie toedrag van sake<br />
het die Internasionale Standaarde Organisasie (ISO) daartoe gedwing om
42 ADDENDUM 1. INTRODUCTION TO COMPUTER NETWORKS<br />
• Routing must be done between users on different networks.<br />
<br />
• A bookkeeping should be possible <strong>of</strong> the use <strong>of</strong> resources by users on<br />
different networks.<br />
<br />
Every interconnection service that is added should be added in such a way that<br />
the architecture <strong>of</strong> no other network is to be altered. This condition is the main<br />
reason why the interconnection <strong>of</strong> networks is so complicated, because networks<br />
<strong>of</strong>ten are totally incompatible. Usually then limited services are implimented.<br />
The ultimate goal however, remains that the interconnection <strong>of</strong> networks should<br />
be such that all services available on a network should be accessible for all users<br />
on the other networks.<br />
In the OSI reference model, a piece <strong>of</strong> hardware that is used to connect two<br />
unconnected systems is called a relay. If the relay estqablishes communication<br />
between layer n on one system with layer n on another system, we call it a ⁀layer n relay. The following terms are generally used:<br />
• Repeater: A physical layer relay.<br />
• Bridge: A data link layer relay.<br />
• Router: A Network layer relay.<br />
• Gateway: Any relay on a layer above the network layer.<br />
Repeaters simply amplify or regenerate the signals. The protocol, however,<br />
remains unchanged. Repeaters are employed to extend the range <strong>of</strong> a network.<br />
Repeaters therefore are used also in networks that are identical to each other.<br />
When, however, networks are to be connected that are increasingly different,<br />
relays are required that are <strong>of</strong> an increasingly higher level.<br />
Gateways may also be divided in two halves, with one half at each <strong>of</strong> the networks<br />
that are to be connected. In such a case each <strong>of</strong> the halves does only half<br />
<strong>of</strong> the conversion between two protocols. Atempts are being made to establish<br />
a standard “intermediate” protocol. If this could be done each <strong>of</strong> the half gateways<br />
would be doing the conversion from the protocol <strong>of</strong> the network where it<br />
is situated to the “intermediate” protocol. This will come in very useful when a<br />
large number <strong>of</strong> networks, each having its own protocol, have to be connected.<br />
There are many differences that may exist between different networks, which<br />
have to be resolved by the relay between them. Examples <strong>of</strong> such differences<br />
are:<br />
• Addressing scheme.<br />
• Packet size.<br />
• Error checking.<br />
• Routing and flow control.<br />
• Interruptions, time synchronisation and length <strong>of</strong> timeouts.<br />
• Access control.
1.2. TUSSENVERBINDING VAN NETWERKE 43<br />
42 BYLAAG 1. INLEIDING TOT REKENAARNETWERKE<br />
• Pakket grootte.<br />
• Fout beheer.<br />
strek. Tussenverbinding van netwerke word al meer gedoen om sodoende gebruikers<br />
op verskillende netwerke die kans te gee om saam te werk. Die Internet<br />
het oor die afgelope tyd geweldig gegroei.<br />
• Roetering en vloeibeheer.<br />
Vereistes wat gestel kan word wanneer netwerke verbind word is onder andere:<br />
• Onderbrekings, tyd sinkronisasie en lengte van tydverstreke.<br />
• Toegangsbeheer.<br />
• Kommunikasie fasiliteite moet tussen die netwerke verskaf word. As minimum<br />
kan vereis word dat kommunikasie tussen die netwerke op ten minste<br />
die fisiese en dataverbindingslaag (<strong>of</strong> gelykstaande) moontlik moet wees.<br />
• Roetering tussen gebruikers op verskillende netwerke moet gedoen word.<br />
• Boekhouding van gebruik van nutsbronne deur gebruikers op verskillende<br />
netwerke moet moontlik wees.<br />
Elke tussenverbindingsdiens wat bygevoeg word moet bygevoeg word sonder<br />
dat die argitektuur van enige van die netwerke verander moet word. Dit is<br />
veral hierdie voorwaarde wat die tussenverbinding van netwerke kompleks maak<br />
omdat netwerke dikwels heeltemal onversoenbaar is. Beperkte dienste word dan<br />
gewoonlik geïmplimenteer. Die doelwit vir die tussenverbinding van netwerke<br />
bly egter nog steeds dat alle dienste wat op ’n netwerk beskikbaar is ook vir alle<br />
gebruikers op ander netwerke toeganklik moet wees.<br />
In die OSI verwysingsmodel word ’n stuk toerusting wat gebruik word om twee<br />
ongekoppelde stelsels te verbind, ’n relay genoem. Indien die relay gebruik word<br />
om laag n op een stelsel met laag n op ’n ander stelsel te laat kommunikeer word<br />
van ’n laag n relay gepraat. Die volgende terminologie word egter meer algemeen<br />
gebruik:<br />
• Herhaler (Repeater): Fisiese-laag relay.<br />
• Brug: Dataverbindingslaag relay.<br />
• Roeteerder (Router): Netwerklaag relay.<br />
• Hek (Gateway): Enige relay op ’n laag bokant die netwerklaag.<br />
Herhalers versterk <strong>of</strong> hergenereer bloot die seine. Die protokol self bly egter<br />
onveranderd. Herhalers word gebruik om die reikwydte van ’n netwerk te vergroot.<br />
Herhalers word dus ook gebruik tussen netwerke wat identies aan mekaar<br />
is. Soos die netwerke wat verbind moet word meer en meer van mekaar verskil<br />
is dit nodig dat die relay tussen hulle op ’n hoër en hoër vlak moet wees.<br />
Hekke kan ook in twee helftes gedeel word, met ’n helfte by elke netwerk wat<br />
verbind moet word. In die geval doen elkeen van die helftes ook net helfte<br />
van die omskakeling tussen die twee protokolle. Daar word ook gepoog om ’n<br />
standaard “tussen” protokol te implimenteer. Dan kan elkeen van die halwe<br />
hekke die omskakeling doen tussen die protokol van die netwerk waar hy geleë is<br />
en die “tussen” protokol. Dit is veral handig wanneer ’n groot aantal netwerke<br />
elk met sy eie protokol met mekaar verbind moet word.<br />
Daar is ’n groot aantal verskille wat tussen netwerke kan bestaan wat deur die<br />
relay tussen hulle opgelos moet word. ’n Paar van hierdie verskille is:<br />
<br />
• Adressering skema.
44 ADDENDUM 2. LAYER ARCHITECTURE IN DATA NETWORKS<br />
<br />
was then created to enable this reliable error-free transmission <strong>of</strong> information<br />
via unreliable media, as well as to provide for communication between networks.<br />
This means the capability <strong>of</strong> computers to communicate over different networks.<br />
By 1988, ten years after OSI was accepted, still only a few pilot projects existed,<br />
while Internet was used widely. In spite <strong>of</strong> this it appears as though Internet has<br />
a limited future, with OSI the favourite in the long run. However, it remains to<br />
be seen when the ”long run” will begin.<br />
<br />
Addendum 2<br />
By 1992 the situation was that the TCP/IP community could demonstrate real<br />
products on real networks, while the OSI community was caught in endless<br />
debates on the advantages <strong>of</strong> formal description techniques ... etc. However,<br />
OSI is slowly but surely gaining ground. Real OSI products are increasingly<br />
being demonstrated. The issue is not any more which <strong>of</strong> the two should become<br />
the standards, but rather one <strong>of</strong> co-existence and integration. The Internet<br />
(TCP/IP) society is experimenting with OSI techniques and applications, because<br />
it can add value to the Internet and because it can serve the society<br />
at large. An open interconnectedness <strong>of</strong> networks consisting <strong>of</strong> both OSI and<br />
TCP/IP has been in existence lately.<br />
Layer architecture in data<br />
networks: OSI, TCP/IP en<br />
X.25<br />
The ISO started in 1977 to develop a communication architecture that could<br />
become the international standard. The process <strong>of</strong> setting up protocols was<br />
open and international comments were invited. Leaders from the entire international<br />
community submitted commentary, each <strong>of</strong> course based on his own<br />
vision <strong>of</strong> the future. The resulting set <strong>of</strong> protocols was called the open systems<br />
interconnection or OSI. The purpose <strong>of</strong> OSI, like that <strong>of</strong> TCP/IP, was to enable<br />
two computer systems to exchange information (i.e. intercommunication),<br />
to interpret it and to present it in a format that can be handled by the local<br />
computer and that was understandable for the users (interoperation). The OSI<br />
consists presently <strong>of</strong> hundreds <strong>of</strong> standards. Years were spent to develop each<br />
<strong>of</strong> these standards, to achieve concensus on it and to publish it. OSI is still best<br />
known for the OSI reference model and its seven layers. The standards consists<br />
<strong>of</strong> abstract definitions, make use <strong>of</strong> a vocabulary custom made for this purpose,<br />
and is rather expensive. The sad result <strong>of</strong> all this is that the development and<br />
delivery <strong>of</strong> commercial OSI systems have been stunted.<br />
2.1 Introduction<br />
On the other hand any member <strong>of</strong> the Internet society is free to design a protocol<br />
for the Internet suite, to document it, implement it and test it. The<br />
documentation has to be done in the RFC (Request for Comments) series. An<br />
elaborate procedure has been compiled according to which such a protocol may<br />
to be delivered, can be improved, can become a prescribed standard and can<br />
finally become an Internet standard.<br />
A multitude <strong>of</strong> processes have to be performed in order to establish communication<br />
between two computers via a physical medium (such as a piece <strong>of</strong> wire).<br />
It has to be ensured that the data sent will be received free <strong>of</strong> errors, in the<br />
right order and without duplication. In the case where the two computers are<br />
not directly connected, but are linked through a network <strong>of</strong> connections and<br />
other computers, a route through the network has to be identified. Moreover<br />
the semantics <strong>of</strong> the information must be conserved, such that the different<br />
applications, electronic mail, file transfers, etc. would be understandable.<br />
It would in principle be possible to implement all these functions into one monolithic<br />
protocol....<br />
We have already mentioned the development <strong>of</strong> layered architecture for communication<br />
networks. For instance, both the SNA <strong>of</strong> IBM and ARPAnet are<br />
layered architectures. But the OSI model, which was developed as a layered<br />
architecture, is rapidly becoming the international standard for layered architecture.<br />
During the 1980’s most <strong>of</strong> the developments around OSI took place<br />
outside the USA. Other than the OSI protocol suite, which was developed by<br />
the international society, we also have the Internet protocol suite. While the<br />
ideals for OSI were that it should become the solution for communication between<br />
systems, the Internet protocol suite was developed through the research<br />
<strong>of</strong> the computer science community in the USA, funded by the USA Ministry<br />
for Defence. This protocol is known as TCP/IP and was accepted in 1983 as<br />
the standard by the USA Ministry <strong>of</strong> Defence. Even though the development<br />
<strong>of</strong> the two protocol suites had started almost simultaneously (during the late<br />
1970’s) the situation is now that Internet suite has been widely implemented,<br />
not only in defence circles in the USA, but in the entire users community. On<br />
the other hand very few OSI systems have been installed. In spite <strong>of</strong> this, it<br />
is predicted that OSI will be the solution for networks for the future. The<br />
development <strong>of</strong> the Internet protocol was to provide in a need, namely to enable<br />
a heterogeneous multitude <strong>of</strong> computers to communicate with each other,<br />
and they restricted themselves to the solution <strong>of</strong> this problem only. Existing<br />
technology was employed and they were not interested in solving other possible<br />
problems. Originally only one network existed, ARPAnet, which connected a<br />
number <strong>of</strong> computer systems all over the USA. When other network technologies<br />
developed, like Ethernet, Packet Radio and Satellite, the need developed<br />
to send reliable information via unreliable media that could not guarantee a<br />
dependable, error-free transmission <strong>of</strong> information. The TCP/IP protocol suite<br />
43
46 BYLAAG 2. LAAG-ARGITEKTURE IN DATANETWERKE<br />
betroubare, foutvrye oordra van inligting oor onbetroubare media te verseker,<br />
asook om tussen netwerk kommunikasie moontlik te maak. Dit is die vermoë<br />
vir rekenaars om oor verskillende netwerke met mekaar te kommunikeer. Teen<br />
1988, tien jaar na die aanvaaring van OSI was daar slegs ’n paar loodsprojekte<br />
terwyl Internet al wyd in gebruik was. Dit lyk egter tog as<strong>of</strong> Internet ’n beperkte<br />
toekoms het met OSI die langtermyn gunsteling. Wanneer die langtermyn gaan<br />
begin bly egter ’n ope vraag.<br />
Bylaag 2<br />
Teen 1992 was die situasie nog dat die TCP/IP gemeenskap werklike produkte<br />
op werklike netwerke kon demonstreer terwyl die OSI gemeenskap eindeloos<br />
gedebatteer het oor die voordele van formele beskrywings tegnieke ... ens. OSI<br />
is egter stadig maar seker besig om by te kom, al hoe meer werklike OSI produkte<br />
word gedemonstreer. Dit gaan nie meer oor watter een van die twee standaarde<br />
nie, maar al hoe meer oor saam bestaan en integrasie. Die Internet (TCP/IP)<br />
gemeenskap eksperimenteer met OSI tegnieke en toepassings omdat dit waarde<br />
by die Internet voeg en omdat dit die gemeenskap bedien. Oop tussen verbinding<br />
van netwerke bestaan dus nou uit OSI en TCP/IP.<br />
Laag-argitekture in<br />
datanetwerke: OSI,<br />
TCP/IP en X.25<br />
Die ISO het in 1977 begin met die ontwikkeling van ’n kommunikasie argitektuur<br />
wat ’n internasionale standaard kon word. Die proses om protokolle op<br />
te stel is oopgestel vir internasionale kommentaar. Gesaghebbendes vanuit die<br />
hele internasionale gemeenskap het hulle insette gelewer, elkeen natuurlik met sy<br />
eie persoonlike toekomsvisie. Die versameling protokolle het bekend gestaan as<br />
open systems interconnection <strong>of</strong> OSI. OSI het net soos TCP/IP ten doel gehad<br />
om twee rekenaar stelsels in staat te stel om inligting uit te ruil (intercommunication),<br />
om dit te interpreteer en in ’n formaat aan te bied wat deur die plaaslike<br />
rekenaar hanteerbaar is en verstaanbaar is vir die gebruikers (interoperation).<br />
Daar is tans honderde standaarde wat OSI opmaak. Vir elkeen van die standaarde<br />
is tipies jare gespandeer om dit te ontwikkel, konsensus daaroor te bereik<br />
en te publiseer. Die aspek waarvoor OSI die bekendste is, is maar nog steeds<br />
die OSI verwysings model en sy sewe lae. Die standaarde bestaan uit abstrakte<br />
definisies, gebruik ’n woordeskat wat net vir die doel ontwikkel is, verder is dit<br />
ook duur om kopieë aan te koop. Die ongelukkige gevolg is dat die ontwikkeling<br />
en lewering van komersiële OSI stelsels baie onderdruk is.<br />
2.1 Inleiding<br />
Aan die ander kant kan enige lid van die Internet gemeenskap ’n protokol vir die<br />
Internet suite ontwerp, dokumenteer, implimenteer en toets. Die dokumentering<br />
moet in die RFC (Request for Comments) reeks gedoen word. Daar is ’n hele<br />
prosedure opgestel waarvolgens kommentaar op so ’n protokol gelewer kan word,<br />
die protokol verbeter kan word, dit ’n voorgestelde standaard word en uiteindelik<br />
’n amptelike Internet standaard word.<br />
Daar is heelwat funksies wat verrig moet word om kommunikasie oor ’n fisiese<br />
medium (stuk draad) tussen twee rekenaars te bewerkstellig. Daar moet verseker<br />
word dat data wat gestuur word foutloos, in die regte volgorde en sonder duplikasie<br />
ontvang word. Indien die twee rekenaars nie direk verbind is nie, maar<br />
wel deur ’n netwerk van verbindings en ander rekenaars, is dit nodig om ’n roete<br />
deur die netwerk te identifiseer. Verder moet die semantiek van die inligting behoue<br />
bly sodat die verskillende toepassings, elektroniese pos, lêer oordragte ens,<br />
sin daaruit kan maak.<br />
Dit sou moontlik wees om al hierdie funksies in een monolitiese protokol te<br />
implimenteer...<br />
Daar is reeds melding gemaak van die ontwikkeling van gelaagde argitekture<br />
vir kommunikasie netwerke. So is beide IBM se SNA en ARPAnet gelaagde<br />
argitekture. Verder is die OSI model wat as ’n gelaagde argitektuur ontwikkel<br />
is vinnig besig om die internasionale standaard vir gelaagde argitekture te word.<br />
Gedurende die 1980’s is die meeste werk rondom OSI buite die VSA gedoen. Benewens<br />
die OSI protokol suite, wat deur die internasionale gemeenskap ontwikkel<br />
is, is daar ook die Internet protokol suite. Terwyl daar met OSI gepoog was<br />
om dit dié oplossing vir kommunikasie tussen stelsels te maak, het die Internet<br />
protokol suite sy bestaan te danke aan eksperimentering in die VSA se rekenaarwetenskap<br />
gemeenskap wat deur die VSA se Departement van Verdediging<br />
ondersteun is. Hierdie protokol staan as TCP/IP bekend en is in 1983 as ’n<br />
standaard deur die VSA se Departement van Verdediging aanvaar. Ontwikkeling<br />
van die twee protokol suites het ongeveer dieselfde tyd (laat 1970’s) begin,<br />
maar die situasie is tans dat die Internet suite wyd geïmplimenteer is, nie net in<br />
die VSA verdedigings gemeenskap nie maar reg oor die spektrum van gebruiker<br />
organisasies. Aan die ander kant is daar min OSI stelsels wat reeds geïnstalleer<br />
is, maar word daar voorspel dat OSI die netwerk oplossing van die toekoms is.<br />
Die ontwikkeling van die Internet protokol suite was in antwoord op ’n behoefte<br />
nl. om ’n hetrogene versameling rekenaars met mekaar te laat kommunikeer en<br />
is daar streng by die oplos van hierdie probleem gebly. Bestaande tegnologie is<br />
benut en daar is nie wyer gesoek na “nog moontlike probleme” nie. Aanvanklik<br />
was daar slegs een netwerk, ARPAnet, wat ’n aantal rekenaarstelsels oor die<br />
VSA verbind het. Soos ander netwerk tegnologieë, soos Ethernet, Pakket Radio,<br />
en Satelliet, ontwikkel het, het die behoefte ontstaan vir ’n metode om inligting<br />
betroubaar te versend oor media wat nie die betroubare, foutvrye oordra van inligting<br />
gewaarborg het nie. Die TCP/IP protokol suite het dan ontstaan om die<br />
<br />
45
46 ADDENDUM 2. LAYER ARCHITECTURE IN DATA NETWORKS<br />
2.2. THE OSI MODEL 45<br />
<br />
Application layer Application layer<br />
Presentation layer Presentation layer<br />
Session layer Session layer<br />
Transport layer Transport layer<br />
Network layer Network layer Network layer<br />
Data link layer Data link layer Data link layer<br />
Physical layer Physical layer Physical layer<br />
Communication path<br />
<br />
Figure 2.1: The OSI model.<br />
Figure 2.2: Relationship between a (N)-entity and the entities above and below<br />
it<br />
• The number <strong>of</strong> layers must be few enough to prevent the description and<br />
integration <strong>of</strong> the layers from getting complicated.<br />
However, by grouping all these functions so that related functions are taken<br />
together, and by then specifying them as different layers <strong>of</strong> a protocol, the<br />
complexity <strong>of</strong> the problem is greatly reduced. The question, however, is how<br />
many layers is required? OSI decided on seven layers, while TCP/IP makes do<br />
with five layers. A basic principle <strong>of</strong> both these protocols suites (and <strong>of</strong> others)<br />
is that the communication problem is divided into two parts. One part is the<br />
timely and correct delivery <strong>of</strong> the data to the user. The second part is to ensure<br />
that the data is recognisable and in a useable state when delivered to the user.<br />
The first part <strong>of</strong> the problem is handled by the network while the second part<br />
typically resides in the host computers <strong>of</strong> the users. It is therefore said that<br />
network services, or network protocols handle the first part. The second part is<br />
handled by the so-called higher protocols.<br />
• There should be enough layers so that none <strong>of</strong> them would get too complex.<br />
2.2 The OSI Model<br />
• Create boundaries where the description <strong>of</strong> services can be done simply<br />
and where there is little interaction over the boundary. Choose the boundaries<br />
at places which have been proven to be successful.<br />
OSI is a reference model which is used to describe the communication between<br />
computers. The model does not specify:<br />
• Place related functions in the same layer.<br />
• Programming language(s),<br />
• Create a layer <strong>of</strong> localised functions.<br />
• Operating system(s),<br />
• Make sure it is possible to change functions or protocols within a layer<br />
without any <strong>of</strong> the other layers being influenced, should changes in the<br />
technology require such changes.<br />
• Applications interfaces or<br />
• User interfaces.<br />
• Create interfaces for each layer with its upper and lower neighbour only.<br />
The model <strong>of</strong> the OSI is shown in Figure 2.1. The network protocols consist <strong>of</strong><br />
the physical-, data linking- and network layers, while the session-, presentationand<br />
application layers form the higher level protocols. The intermediate node<br />
that is shown may on its part have a user (or more than one user) connected<br />
with the associated higher level protocols. However, only the network services<br />
part <strong>of</strong> the two end users (A and B) that are communicating, is relevant. The<br />
group protocols has to ensure that the data are sent error-free and along the<br />
correct path between the two users. The tasks <strong>of</strong> the seven layers may be<br />
summarised as follows:<br />
Only the external performance <strong>of</strong> systems is described, independent <strong>of</strong> their<br />
internal mechanism — we therefore specify what is exported on the linking<br />
media and when, and not how computers should be built in order to ensure<br />
the desired performance. The OSI protocols are therefore defined in pairs: one<br />
specifying the service provided by such an entity, while the other specifies the<br />
protocol or mechanism used by the entity in order to provide the service. It is<br />
therefore possible to build (or write) individual entities without any knowledge<br />
about the other entities.<br />
The ISO laid down a number <strong>of</strong> principles according to which the set <strong>of</strong> layers<br />
<strong>of</strong> the OSI have to be constructed. The application <strong>of</strong> these principles led to<br />
the seven layers <strong>of</strong> which the OSI consists. Some <strong>of</strong> these principles are:
48 BYLAAG 2. LAAG-ARGITEKTURE IN DATANETWERKE<br />
2.2. DIE OSI MODEL 47<br />
Toepassingslaag Toepassingslaag<br />
Voorstellingslaag Voorstellingslaag<br />
Sessie-laag Sessie-laag<br />
Transportlaag Transportlaag<br />
Netwerklaag Netwerklaag Netwerklaag<br />
Dataverbindingslaag Dataverbindingslaag Dataverbindingslaag<br />
Fisiese-laag Fisiese-laag Fisiese-laag<br />
Kommunikasie pad<br />
Figure 2.1: Die OSI model.<br />
Figure 2.2: Verwantskap tussen ’n (N)-entiteit en die entiteite bo en onder hom.<br />
• Daar moet nie soveel lae wees dat die beskrywing en integrasie van die lae<br />
moeilik raak nie.<br />
Deur egter al die funksies te groepeer sodat verwante funksies saam val, en hulle<br />
dan as verskillende lae van ’n protokol te spesifiseer word die kompleksiteit van<br />
die probleem baie verminder. Die vraag is egter hoeveel lae is nodig? OSI<br />
het besluit op sewe lae terwyl TCP/IP regkom met vyf lae. Basies aan hierdie<br />
twee protokol suites (en ander) is die opdeel van die kommunikasie probleem<br />
in twee dele. Die een deel is om data betyds en korrek aan die gebruiker af te<br />
lewer. Die tweede deel is om te sorg dat die data herkenbaar en bruikbaar is vir<br />
die gebruiker. Die eerste deel van die probleem word deur die netwerk hanteer<br />
terwyl die tweede deel tipies by die gebruikers se gasheer rekenaars gesetel is.<br />
Daar word dan ook gepraat van netwerk dienste <strong>of</strong> netwerk protokolle wat die<br />
eerste deel van die probleem hanteer. Die tweede deel word deur sogenaamde<br />
hoër vlak protokolle hanteer.<br />
• Daar moet genoeg lae wees sodat geen laag te kompleks raak nie.<br />
2.2 Die OSI Model<br />
• Skep grense waar die beskrywing van dienste eenvoudig gedoen kan word<br />
en waar min interaksie oor die grens is. Kies ook grense op plekke wat<br />
ervaring as suksesvol bewys het.<br />
OSI is ’n verwysings model wat gebruik word om die kommunikasie tussen rekenaars<br />
te beskryf. Die model spesifiseer nie:<br />
• Plaas verwante funksies in dieselfde laag.<br />
• Programmeertaal/tale,<br />
• Skep ’n laag van gelokaliseerde funksies.<br />
• Bedryfstelsel(s),<br />
• Sorg dat dit moontlik is om funksies <strong>of</strong> protokolle binne ’n laag te verander<br />
sonder om die ander lae te beïnvloed indien veranderinge in tegnologie dit<br />
regverdig.<br />
• Toepassings koppelvlakke <strong>of</strong><br />
• Gebruiker koppelvlakke.<br />
• Skep vir elke laag koppelvlakke met slegs sy onderste en boonste buurman.<br />
Die OSI model word in figuur 2.1 getoon. Die netwerk protokolle bestaan uit<br />
die fisiese-, dataverbindings- en netwerk-lae, terwyl die sessie-, voorstelling- en<br />
toepassing-lae die hoër vlak protokolle opmaak. Die transport-laag kan by beide<br />
die netwerk protokolle en die hoër vlak protokolle ingedeel word. Die tussen node<br />
wat getoon is kan ook weer ’n gebruiker (<strong>of</strong> meer as een) met gepaardgaande<br />
hoër vlak protokolle verbind hê, maar wat die twee eind gebruikers (A en B) wat<br />
met mekaar kommunikeer betref is slegs die netwerk dienste deel van belang.<br />
Die groep protokolle is daarvoor verantwoordelik dat die data tussen die twee<br />
gebruikers foutloos en langs die korrekte pad gestuur word. Die take van die<br />
sewe lae kan soos volg opgesom word:<br />
Slegs die eksterne gedrag van stelsels word beskryf, onafhanklik van hulle interne<br />
konstruksie - daar word dus gespesifiseer wat op die verbindingsmedia uit<br />
gaan en wanneer, en nie hoe die rekenaars gebou moet word om die verlangde<br />
werking te verseker nie. Die OSI protokolle word gevolglik in pare gedefinieer,<br />
een spesifiseer die diens wat deur ’n entiteit gelewer word terwyl die ander die<br />
protokol <strong>of</strong> meganisme wat deur die entiteit gebruik word om die diens te lewer.<br />
Dit is dus moontlik om individuele entiteite te bou/skryf sonder enige kennis<br />
van enige van die ander entiteite.<br />
<br />
Die ISO het ’n aantal beginsels vasgestel waarvolgens die vesameling lae van die<br />
OSI model opgestel moes word. Die toepassing van hierdie beginsels het dan<br />
gelei tot die sewe lae waaruit die OSI model bestaan. Van hierdie beginsels is:
48 ADDENDUM 2. LAYER ARCHITECTURE IN DATA NETWORKS<br />
2.2. THE OSI MODEL 47<br />
<br />
• The application layer. If one has two application processes cooperating<br />
to perform a task on both sides <strong>of</strong> a link, then this layer ensures that they<br />
can understand each other. This layer therefore deals with the semantics<br />
<strong>of</strong> the information. The applications are not completely included in the<br />
OSI model and are therefore not standardised. However, there are certain<br />
procedures that are common to all application protocols and these procedures<br />
are then indeed standardised. In OSI these procedures are called<br />
common application service elements. Examples <strong>of</strong> these are for instance<br />
the procedures for the setting up and termination <strong>of</strong> links between the application<br />
processes. Then the application layer consists <strong>of</strong> these common<br />
elements that couple to the presentation layer, as well as the elements<br />
that are unique to the different applications. Service elements that are<br />
available in the OSI model, are for instance a virtual terminal service, a<br />
file transfer service and a task transfer and manipulating service<br />
<br />
• The presentation layer. Here the independence <strong>of</strong> application processes<br />
having different data representations, i.e. different syntax, is ensured. A<br />
common form for the presentation and manipulation <strong>of</strong> data is defined.<br />
Two repesentations commonly used by different computer systems are<br />
ASCII and EBCDIC, and then data are also stored in different ways in<br />
memory and on disk. The presentation layer therefore has the task to<br />
convert the data on one end to a machine independent form, which can<br />
be transmitted, and then at the receiver end to convert the data to the<br />
machine-specific form <strong>of</strong> the destination system.<br />
• The session layer. Here the dialog between the two end users is controlled.<br />
A session link first has to be established between the two end<br />
users by negotiating the parameters related to the link. The dialog between<br />
two end users can for instance be full- or half duplex. Then a<br />
synchronisation service is provided to recover from any errors if any are<br />
detected. To achieve this, synchronisation markers are placed in the data<br />
stream. Should an error then occur, recovery is performed to a fixed point,<br />
i.e. that <strong>of</strong> the last synchronisation marker before the occurence <strong>of</strong> the<br />
error. A session can also be divided into activities, which each may have<br />
its own identity. It is then possible to interrupt a session and continue<br />
with the next activity at a later stage.<br />
• The transport layer. According to ISO/IEC7498:1984 the transport<br />
layer provides transparent transmission <strong>of</strong> data from a source open system<br />
to a destination open system. The transport layer has to protect the<br />
session layer from differences that may occur in the supporting network.<br />
The supporting network may be packet switched or circuit switched, it<br />
may be a local-area network (LAN) covering a small geographic area or<br />
it may be a large wide-area network (WAN); there may be slow satellite<br />
links or land lines with relatively high error rates. However, in spite <strong>of</strong> the<br />
supporting network, the transport layer creates and maintains a point-topoint<br />
link between the two communicating session entities.<br />
Figure 2.3: Relationship between protocol data units (PDU’s), service data<br />
units (SDU’s) and protocol control information (PCI).<br />
• The network layer. This layer establishes a route through the network<br />
from source to destination and ensures that data is sent along this particular<br />
route. The service provided by the network layer is independent <strong>of</strong>
50 BYLAAG 2. LAAG-ARGITEKTURE IN DATANETWERKE<br />
2.2. DIE OSI MODEL 49<br />
• Die toepassingslaag. Hier word verseker dat twee toepassingsprosesse,<br />
wat saam werk om ’n taak aan beide kante van ’n verbinding uit te voer,<br />
mekaar kan verstaan. Dit gaan dus in hierdie laag oor die semantiek<br />
van die inligting. Die toepassings is nie volledig vervat binne in die OSI<br />
model nie en word dus nie as sulks gestandaardiseer nie. Daar is egter<br />
prosedures wat wel gemeenskaplik is aan alle toepassingsprotokolle, en dit<br />
is dan juis hierdie prosedures wat gestandaardiseer word. In OSI staan<br />
hierdie prosedures bekend as gemeenskaplike toepassings diens elemente<br />
(common application service elements). So is daar byvoorbeeld prosedures<br />
vir die opstel en terminering van verbindings tussen toepassingsprosesse.<br />
Die toepassingslaag bestaan dan uit hierdie gemeenskaplike elemente, wat<br />
met die voorstellingslaag koppel, asook die elemente wat eie is aan die<br />
verskillende toepassings. Toepassings dienste wat binne die OSI model<br />
beskikbaar is, is bv. ’n virtuele terminaal diens, lêer oordra diens en ’n<br />
taak oordra en manipulering diens.<br />
• Die voorstellingslaag. Hier word die onafhanklikheid van toepassingsprosesse<br />
van verskille in data voorstellings, dit wil sê sintaks, verseker. ’n<br />
Gemeenskaplike vorm vir die voorstelling en manipulering van data word<br />
gedefinieer. Twee voorstellings wat algemeen deur verskillende rekenaarstelsels<br />
gebruik word is ASCII en EBCDIC, verder word data op verskillende<br />
maniere in geheue en op skyf gestoor. Die voorstellingslaag is dus<br />
verantwoordelik daarvoor om data aan die een kant om te skakel na ’n<br />
masjien onafhanklike vorm wat oorgestuur kan word, en dan by die ontvang<br />
kant weer om te skakel na die masjien spesifieke vorm van die bestemming<br />
stelsel.<br />
• Die sessielaag. Hier word die dialoog tussen die twee eindgebruikers beheer.<br />
’n Sessie verbinding word eers tussen die twee eindgebruikers opgestel<br />
deurdat die parameters aangaande die verbinding onderhandel word.<br />
Die dialoog tussen twee eindgebruikers kan bv. vol- <strong>of</strong> half-dupleks wees.<br />
Verder word ’n sinkronisasie diens verskaf sodat daar herstel kan word<br />
van foute indien enige waargeneem is. Om dit te doen word sinkronisasie<br />
merkers in die datastroom geplaas. Indien daar dan ’n fout voorkom word<br />
herstel tot ’n vaste punt, nl. die sinkronisasie merker voordat die fout<br />
plaasgevind het. ’n Sessie kan ook opgedeel word in aktiwiteite, wat elk<br />
’n identiteit kan besit. Dit is dus moontlik om ’n sessie te onderbreek en<br />
op ’n later stadium met die volgende aktiwiteit aan te gaan.<br />
• Die transportlaag Volgens ISO/IEC7498:1984 verskaf die transportlaag<br />
deursigtige oordra van data vanaf ’n bron oop stelsel na ’n bestemming oop<br />
stelsel. Die tranportlaag moet die sessielaag afskerm van verskille wat in<br />
die onderliggende netwerk kan voorkom. Die onderliggende netwerk kan<br />
pakket <strong>of</strong> kring geskakel wees, dit kan ’n lokale areanetwerk wees wat oor<br />
’n klein geografiese gebied versprei is <strong>of</strong> dit kan ’n groot wye areanetwerk<br />
wees. daar kan stadige satelliet verbindings wees asook landlyne met relatiewe<br />
hoë fout tempos. Nieteenstaande die onderliggende netwerk skep<br />
en onderhou die transportlaag ’n punt-tot-punt verbinding tussen die twee<br />
kommunikerende sessie entiteite.<br />
Figure 2.3: Verwantskap tussen protokol-data-eenhede (PDE’e), diens-dataeenhede<br />
(DDE’s) en protokol-beheer-inligting (PBI).<br />
<br />
• Die netwerklaag. Hierdie laag stel ’n roete deur die netwerk op vanaf<br />
bron tot by bestemming en sorg dan dat die data oor die betrokke roete
50 ADDENDUM 2. LAYER ARCHITECTURE IN DATA NETWORKS<br />
2.2. THE OSI MODEL 49<br />
2.2.1 Services<br />
<br />
<br />
The notation (N-1), (N) and (N+1) is employed to refer to a layer (the N-th<br />
layer) and the layers immediately below it and above it. In the OSI model<br />
(N) can take on the values 1 to 7, and (N)=1 refers to the physical layer while<br />
(N)=7 refers to the application layer. Then also the word entity is used to refer<br />
to the active element(s) within a layer (Figure 2.2). The word entity may be<br />
compared to the word process which was used in operating systems, except that<br />
an entity is not something which is implemented. We therefore now refer to an<br />
(N)-entity when the active elements <strong>of</strong> layer (N) are meant. Different notations<br />
are used in the literature. For instance, layer-5 entity , (5)-entity, session entity<br />
and S-entity all refer to the same thing. The last one, where the first letter <strong>of</strong><br />
the layer name is used, is frequently found in OSI standard documents.<br />
An (N)-entity performs (N) functions and in the process provides a set <strong>of</strong> (N) facilities<br />
to the (N+1)-entity above it. These (N) facilities are called (N)-services.<br />
In order to provide the (N) services to the (N+1)-entity above it, the (N)-entity<br />
on its part makes use <strong>of</strong> (N-1)-services from the (N-1)-entity below it. The (N)entity<br />
providing an (N)-service is known as an (N)-service provider, and because<br />
it makes use <strong>of</strong> an (N-1)-service, it is know as an (N-1)-service user. There is<br />
a conceptual point, or interface, on the boundary between the layers (N) and<br />
(N+1) where the (N)-service is provided to the (N+1)-entity. This point is<br />
known as an (N)-service access point, ((N)-DTP, (N)-service-access-point, (N)-<br />
SAP).<br />
Figure 2.4: Multiplexing and de-multiplexing by an (N)-entity<br />
When two application entities (on the same system or on different systems) are<br />
to communicate with each other, they make use <strong>of</strong> presentation services provided<br />
by the presentation entities under them. They are therefore known as<br />
presentation service users. The two application entities communicating with<br />
each other are called (peer entities) because they are on the same layer. The<br />
communication process consists <strong>of</strong> three phases: the link set-up phase, the data<br />
transmission phase and the link termination phase. During all three <strong>of</strong> the<br />
phases use is made <strong>of</strong> the presentation layers. During the link set-up phase,<br />
a number <strong>of</strong> parameters are negotiated which then will determine the nature<br />
<strong>of</strong> the data transmission phase. As soon as the link is established, the data<br />
transmission stage commences. During the data tansmission phase it is necessary<br />
that errors are detected and corrected. It may also be necessary for the<br />
data to be divided into units and be numbered on the dispatching side, and<br />
then to be rearranged and combined at the receiving side. Other (N)-services<br />
that are provided by an (N)-entity to the (N+1)-entity above it, includes flow<br />
control, routing, synchronisation, etc. As soon as the data transmission phase<br />
is completed, the link termination phase is commenced, during which the link<br />
is terminated.<br />
Figure 2.5: Division and combination by an (N)-entity<br />
the type (or number <strong>of</strong> types) <strong>of</strong> communication media and includes all<br />
routing and internetwork functions. Furthermore, the flow control is also<br />
managed by this layer. Flow control involves the spreading <strong>of</strong> the load<br />
over the network to avoid congestion at any particular link.<br />
• The data link layer. This layer ensures the orderly and error-free transmission<br />
<strong>of</strong> data across the link between two nodes. These are not necessarily<br />
the source and destination nodes, but may be every pair <strong>of</strong> nodes<br />
on the route between the source and the destination. Any transmission<br />
errors occuring have to be corrected here.<br />
In setting up a link between two application entities, a virtual link, known as<br />
a (peer-to-peer) link, is established. The two application entities therefore do<br />
not communicate directly with each other, but through the two presentation<br />
entities below them. Between the two presentation entities a peer-to-peer link<br />
is also established and they also do not communicate directly with each other,<br />
but through the session entities below them. Between the two session entities a<br />
peer-to-peer link is once again established...... until finally two physical entities<br />
are communicating directly with each other by means <strong>of</strong> the communication<br />
• The physical layer. Here the mechanical, electrical/optical, functional<br />
and procedure characteristics are specified, in order to establish physical<br />
links, maintain them and terminate them so that streams <strong>of</strong> bits may be<br />
transported across them. Only individual bits are recognised, not characters<br />
or messages.
52 BYLAAG 2. LAAG-ARGITEKTURE IN DATANETWERKE<br />
2.2. DIE OSI MODEL 51<br />
Figure 2.5: Opdeel en samevoeging deur ’n (N)-entiteit.<br />
Figure 2.4: Multipleksering en de-multipleksering deur ’n (N)-entiteit.<br />
as (N)-dienste bekend. Om die (N)-dienste aan die (N+1)-entiteit bo hom te<br />
verskaf, maak die (N)-entiteit weer gebruik van (N-1)-dienste van die (N-1)entiteit<br />
onder hom. Die (N)-enteiteit wat ’n (N)-diens verskaf staan bekend<br />
as ’n (N)-diens-verskaffer, en aangesien dit van ’n (N-1)-diens gebruik maak<br />
staan dit as ’n (N-1)-diens-gebruiker bekend. Daar is ’n konseptuele punt, <strong>of</strong><br />
koppelvlak, op die grens tussen lae (N) en (N+1) waar die (N)-diens aan die<br />
(N+1)-entiteit verskaf word. Hierdie punt staan as ’n (N)-diens-toegangs-punt<br />
((N)-DTP, (N)-service-access-point, (N)-SAP) bekend.<br />
gestuur word. Die diens wat deur die netwerklaag verskaf word is onafhanklik<br />
van die tipe (asook aantal tipes) kommunikasie media, en sluit<br />
alle roetering en tussen-netwerk funksies in. Verder word vloeibeheer ook<br />
deur hierdie laag hanteer. Vloeibeheer bestaan daaruit dat die lading oor<br />
die netwerk versprei word en kongestie op verbindings voorkom word.<br />
• Die dataverbindingslaag. Hierdie laag verseker die ordelike en foutvrye<br />
oordra van data oor ’n verbinding tussen twee nodes, nie noodwendig die<br />
bron en bestemming nodes nie, maar tussen elke paar nodes op die roete<br />
tussen die bron en bestemming. Enige transmissie foute wat voorkom<br />
moet hier gekorrigeer word.<br />
Wanneer twee toepassings-entiteite (op dieselfde stelsel <strong>of</strong> op verskillende stelsels)<br />
met mekaar wil kommunikeer maak hulle gebruik van voorstellings-dienste wat<br />
deur die voorstellings-entiteite onder hulle verskaf word, hulle staan dus ook as<br />
voorstellings-diens-gebruikers bekend. Die twee toepassings-entiteite wat met<br />
mekaar kommunikeer staan as gelyke entiteite (peer entities) bekend aangesien<br />
hulle op dieselfde laag is. Die kommunikasie proses bestaan uit drie fases, die<br />
verbinding opstel fase, die data oordrag fase en die verbinding terminering fase.<br />
Tydens al die drie fases word daar van die dienste van die voorstellingslae gebruik<br />
gemaak. Tydens die verbinding opstel fase word ’n versameling parameters onderhandel<br />
wat dan die aard van die data oordrag fase gaan bepaal. Sodra die<br />
verbinding opgestel is word daar oorgegaan na die data oordrag fase. Tydens<br />
die data oordrag fase is dit dan nodig dat foute waargeneem en herstel moet<br />
word. Verder is dit moontlik dat data in eenhede opgedeel en genommer moet<br />
word aan die stuur kant en weer ge-orden en saamgevoeg moet word aan die<br />
ontvang kant. Verdere (N)-dienste deur ’n (N)-entiteit aan die (N+1)-entiteit<br />
bokant hom verskaf word tydens die data oordrag fase is vloei beheer, roetering,<br />
sinkronisasie ens. Sodra die data oordrag fase voltooi is word daar oorgegaan<br />
na die verbinding terminering fase waartydens die verbinding getermineer word.<br />
• Die fisieselaag. Hier word meganiese, elektriese/optiese, funksionele en<br />
prosedure karakteristieke gespesifiseer wat daarop gemik is om fisiese verbindings<br />
op te stel, te onderhou en te termineer sodat bisstrome daaroor gestuur<br />
kan word. Slegs individueele bisse word herken, nie karakters <strong>of</strong><br />
boodskappe nie.<br />
2.2.1 Dienste<br />
In die opstel van ’n verbinding tussen twee toepassing-entiteite word ’n virtuele<br />
verbinding wat as ’n gelyke-tot-gelyke (peer-to-peer) verbinding bekend staan<br />
opgestel. Die twee toepassing-entiteite kommunikeer dus nie direk met mekaar<br />
nie, maar wel deur die twee voorstelling-entiteite onder hulle. Tussen die twee<br />
voorstelling-entiteite word weer ’n gelyke-tot-gelyke verbinding opgestel en kommunikeer<br />
die twee entiteite ook nie direk met mekaar nie, maar wel deur die<br />
sessie-entiteite onder hulle. Tussen die twee sessie-entiteite word weer ’n gelyke-<br />
Die notasie (N-1), (N) en (N+1) word gebruik om na ’n laag (die N-de laag) en<br />
die lae direk onder en bo dit te verwys. Met betrekking tot die OSI model kan<br />
(N) die waardes 1 tot 7 aanneem, en verwys (N)=1 na die fisiese-laag terwyl<br />
(N)=7 na die toepassingslaag verwys. Verder word daar van die term entiteit gebruik<br />
gemaak om te verwys na die aktiewe element(e) binne ’n laag (figuur 2.2).<br />
Die term entiteit kan vergelyk word met die term proses wat by bedryfstelsels<br />
gebruik is, behalwe vir die feit dat ’n entiteit nie iets is wat geïmplimenteer is<br />
nie. Daar word dus nou verwys na ’n (N)-entiteit wanneer die aktiewe elemente<br />
van laag (N) ter sprake is. Verskeie skryfwyses kom in die literatuur voor, so<br />
verwys laag-5-entiteit, (5)-entiteit, sessie-entiteit en S-entiteit almal na dieselfde<br />
ding. Laasgenoemde skryfwyse, nl. die eerste letter van die laag se naam kom<br />
algemeen in OSI standaard dokumente voor.<br />
<br />
’n (N)-entiteit verrig (N)-funksies om sodoende ’n versameling (N)-fasilitiete<br />
aan die (N+1)-entiteit bo hom beskikbaar te stel. Hierdie (N)-fasiliteite staan
52 ADDENDUM 2. LAYER ARCHITECTURE IN DATA NETWORKS<br />
2.2. THE OSI MODEL 51<br />
<br />
Application layer<br />
Transport layer<br />
Internet layer<br />
Netwerk-interface layer<br />
Physical layer<br />
<br />
Figure 2.9: TCP/IP architecture<br />
Figure 2.6: Segmentation and reconstruction<br />
one-to-one. Multiplexing is achieved by having one (N)-entity providing a service<br />
to a number <strong>of</strong> (N+1)-entities (Figure 2.4). The inverse <strong>of</strong> this (at the<br />
receiving side) is then de-multiplexing. Furthermore, it is possible that a single<br />
(N+1)-entity would use the services <strong>of</strong> a number <strong>of</strong> (N)-entities. This process<br />
is known as (splitting) while the inverse is known as (recombining) (Figure 2.5).<br />
Sometimes maximum lengths are prescribed for the PDU which is to be exchanged<br />
between two peer entities. It may therefore be necessary for an (N)-<br />
SDU to be divided (segmented) into a number <strong>of</strong> (N)-PDU’s and that the (N)-<br />
PDU’s again be recombined into a single (N)-SDU (Figure 2.6). It is also possible<br />
that a number <strong>of</strong> (N+1)-PDU’s can be combined at a (N)-DTP into a single<br />
(N)-SDU. At the receiving end the (N)-SDU is then split at the (N)-DTP into<br />
the original (N+1)-PDE’de (Figure 2.7). A final possiblity is that a number<br />
<strong>of</strong> (N)-SDU’s are blocked by an (N)-entity in a single (N)-PDU which is again<br />
de-blocked at the receiving end by the receiving (N)-entity into the original<br />
(N)-SDU’s (Figure 2.8).<br />
Figure 2.7: Combination and separation<br />
This discussion gives an indication <strong>of</strong> the complexity (and almost incomprehensibility?)<br />
<strong>of</strong> OSI-speak. We have not even touched upon the four primitive<br />
services (request, indication, response and confirmation), time diagrams, connected<br />
and unconnected services, confirmed and unconfirmed services, the three<br />
communication phases on each layer for different types <strong>of</strong> communication, etc,<br />
etc, etc...<br />
2.3 TCP/IP<br />
link between them.<br />
When the application entity has to send data to its peer entity it submits the<br />
data together with control information in the form <strong>of</strong> an application-protocoldata-unit,<br />
(application-PDU) to the presentation entity below it. The application-<br />
PDU is cast at the application-DTP on a presentation-service-data-unit, (presentation-<br />
SDU). The presentation entity then adds presentation-protocol-control-information,<br />
(presentation-PCI) to form a presentation-PDU which it submits to the session<br />
entity below it. To put it generally: an (N+1)-entity submits an (N+1)-PDU<br />
to the (N)-entity below it. At the (N)-DTP the (N+1)-PDU is imaged on an<br />
(N)-SDU and to this the (N)-entity then adds (N)-PCI to form an (N)-PDU<br />
(Figure 2.3). This (N)-PDU is then submitted to the (N-1)-entity... On the receiving<br />
side the process is then deconvoluted so that the application entity ends<br />
up with the original application-PDU which had been sent to it by its peer.<br />
The five layers <strong>of</strong> TCP/IP (Figure 2.9) are also divided into two groups, i.e.<br />
the application services, which consist <strong>of</strong> the application layer, and the network<br />
services which consist <strong>of</strong> the physical-, network interface- internet- and<br />
transport layers.<br />
The relationship between service users and service providers is not necessarily<br />
All the end user services which in the OSI are incorporated into the top three<br />
layers, are here handled by the applications layer. Available applications are inter<br />
alia TELNET (virtual terminal), FTP (file transfer) and RJE (task transfer<br />
and manipulation).<br />
The transport layer <strong>of</strong> the TCP/IP provides exactly the same services as the<br />
transport layer <strong>of</strong> the OSI.<br />
While the network layer <strong>of</strong> OSI provides both virtual ring and datagram services,<br />
the internet layer <strong>of</strong> TCP/IP provides only a datagram service. This layer<br />
contains the functions required to send data from a source code via a multitude<br />
Figure 2.8: Blocking and de-blocking
54 BYLAAG 2. LAAG-ARGITEKTURE IN DATANETWERKE<br />
2.2. DIE OSI MODEL 53<br />
Figure 2.8: Blokking en ontblokking.<br />
Figure 2.6: Segmentasie en rekonstruksie.<br />
Toepassingslaag<br />
Transportlaag<br />
Internetlaag<br />
Netwerk-koppelvlaklaag<br />
Fisiese-laag<br />
Figure 2.9: TCP/IP argitektuur.<br />
Daar word soms maksimum lengtes bepaal vir die PDE wat tussen twee gelyke<br />
entiteite uitgeruil word. Dit kan dus nodig word dat ’n (N)-DDE in ’n aantal<br />
(N)-PDE’de opgedeel (gesegmenteer) word en dat die (N)-PDE’de weer by die<br />
ontvang kant saamgevoeg word in ’n enkele (N)-DDE (figuur 2.6). Verder kan<br />
’n aantal (N+1)-PDE’de by ’n (N)-DTP saamgevoeg word in ’n enkele (N)-<br />
DDE. By die ontvang kant word die (N)-DDE weer by die (N)-DTP geskei in<br />
die oorspronklike (N+1)-PDE’de (figuur 2.7). ’n Laaste moontlikheid is dat ’n<br />
aantal (N)-DDE’de deur ’n (N)-entiteit geblok word in ’n enkele (N)-PDE wat<br />
weer by die ontvang kant deur die ontvangende (N)-entiteit ontblok word in die<br />
oorspronklike (N)-DDE’de (figuur 2.8).<br />
Figure 2.7: Samevoeging en skeiding.<br />
tot-gelyke verbinding opgestel... Uiteindelik is dit die twee fisiese-entiteite wat<br />
direk met mekaar kommunikeer deur middel van die kommunikasie pad tussen<br />
hulle.<br />
Hierdie bespreking gee ’n aanduiding van die kompleksiteit (en bykans onverstaanbaarheid?)<br />
van OSI-speak. Wat nie aangeraak is, is die vier primitiewe<br />
dienste (versoek, indikasie, respons en bevestiging), tyd-diagramme verbinde en<br />
onverbinde dienste, bevestigde en onbevestigde dienste, die drie kommunikasie<br />
fases op elke laag vir verskillende tipes kommunikasie, ens, ens, ens...<br />
2.3 TCP/IP<br />
Die vyf lae van TCP/IP (figuur 2.9) word ook in twee groepe gedeel, nl. die<br />
toepassingsdienste wat bestaan uit die toepassingslaag en die netwerkdienste<br />
wat bestaan uit die fisiese-, netwerk-koppelvlak-, internet- en transport-lae.<br />
Die toepassing-entiteit wat data aan sy gelyke entiteit wil stuur handig die data<br />
tesame met beheer inligting in die vorm van ’n toepassing-protokol-data-eenheid<br />
(toepassing-PDE, application-protocol-data-unit, application-PDU) oor aan die<br />
voorstelling-entiteit onder hom. Die toepassing-PDE word by die toepassing-<br />
DTP op ’n voorstelling-diens-data-eenheid (voorstelling-DDE, presentation-servicedata-unit,<br />
presentation-SDU) afgebeeld. Hierby voeg die voorstelling-entiteit<br />
weer voorstelling-protokol-beheer-inligting (voorstelling-PBI,presentation-protocolcontrol-information,<br />
presentation-PCI) om ’n voorstelling-PDE te vorm wat hy<br />
aan die sessie-entiteit onder hom oorhandig. In die algemeen: ’n (N+1)-entiteit<br />
handig ’n (N+1)-PDE aan die (N)-entiteit onder hom oor. By die (N)-DTP<br />
word die (N+1)-PDE op ’n (N)-DDE afgebeeld, hierby voeg die (N)-entiteit<br />
dan (N)-PBI om ’n (N)-PDE te vorm (figuur 2.3). Hierdie (N)-PDE word dan<br />
aan die (N-1)-entiteit oorhandig... By die ontvang kant word die proses weer ontrafel<br />
sodat die toepassing-entiteit eindig met die oorspronklike toepassing-PDE<br />
wat deur sy gelyke aan hom gestuur is.<br />
Al die eindgebruiker dienste wat by OSI in die boonste drie lae vervat is word<br />
hier deur die toepassingslaag hanteer. Beskikbare toepassings is onder andere<br />
TELNET (virtuele terminaal), FTP (lêer oordrag) en RJE (taak oordra en<br />
manipulering).<br />
Die transportlaag van TCP/IP lewer basies dieselfde dienste as OSI se transportlaag.<br />
Die verwantskap tussen diens gebruikers en diens verskaffers is nie noodwendig<br />
een-tot-een nie. Multipleksering word bewerkstellig deurdat een (N)-entiteit ’n<br />
diens aan ’n aantal (N+1)-entiteite verskaf (figuur 2.4). Die omgekeerde (by die<br />
ontvang kant) hiervan is dan de multipleksering. Verder is dit ook moontlik dat<br />
’n enkele (N+1)-entiteit die dienste van ’n aantal (N)-entiteite gebruik. Hierdie<br />
proses staan as opdeel (splitting) bekend terwyl die omgekeerde as samevoeging<br />
(recombining) bekend staan (figuur 2.5).
2.4. THE X.25 PROTOCOL 53<br />
<br />
OSI model X.25 protocol<br />
Application layer<br />
Presentation layer<br />
Session layer<br />
Transport layer<br />
Network layer Packet layer<br />
Data link layer Frame layer<br />
Physical layer Physical layer<br />
<br />
Addendum 3<br />
The physical layer<br />
Figure 2.10: The relationship between the OSI model and X.25 protocol<br />
<strong>of</strong> networks to a destination.<br />
The network interface layer <strong>of</strong> TCP/IP corresponds to a combination <strong>of</strong> the<br />
data link layer <strong>of</strong> OSI and the network dependent parts <strong>of</strong> its network layer.<br />
3.1 Introduction<br />
2.4 The X.25 protocol<br />
The lowest layer <strong>of</strong> the OSI model, the physical layer, deals with the conversion<br />
<strong>of</strong> a stream <strong>of</strong> bits to electrical or optical signals, the transmission <strong>of</strong> the signals<br />
through a transmission medium from one point <strong>of</strong> the network to the next,<br />
and the conversion <strong>of</strong> the electrical or optical signals to a stream <strong>of</strong> bits at the<br />
destination.<br />
3.1.1 Linking modes<br />
The X.25 network interface was approved as a recommendation in 1976 by the<br />
CCITT. Revisions followed in 1980 and in 1984. The connection <strong>of</strong> terminals,<br />
computers and other appliances to a packet linked network, is specified by X.25.<br />
In X.25 terminology the appliances that are coupled are called DTE’s (dataterminal<br />
equipment), while the network equipment or node to which the DTE is<br />
coupled, is called a DCE (data circuit-terminating equipment). A DTE typically<br />
has the role <strong>of</strong> communicating with another DTE via the network. The access<br />
<strong>of</strong> the DTE to the network is controlled by the DCE to which it is coupled.<br />
The network is responsible for the handling <strong>of</strong> the communication between the<br />
two DCE’s to which the communicating DTE’s are coupled. Here X.25 only<br />
specifies the communication between DTE and DCE.<br />
There are basically two ways in which the electrical signal representing the bits<br />
may be transmitted. The one is the parallel transmission mode. By this method<br />
there are a number <strong>of</strong> links between the source and destination. A number <strong>of</strong> bits<br />
can therefore be transmitted simultaneously, one bit per link. The transmission<br />
delays at the different links may differ, for instance because the physical lengths<br />
<strong>of</strong> the different conducters may be different. The result is that the bits <strong>of</strong> a data<br />
unit may arrive at different times at the destination. This method is therefore<br />
only suitable for the transmission <strong>of</strong> data over short distances and is normally<br />
used between sub-units <strong>of</strong> the computer system (such as to the printer).<br />
The X.25 protocol is a three-layer protocol <strong>of</strong> which the layers correspond to<br />
the bottom three OSI layers. The relationship is illustrated in Figure 2.10.<br />
The other method is the bit-serial transmission <strong>of</strong> data. Here use is made <strong>of</strong> a<br />
single link (such as a pair <strong>of</strong> conductors), to transmit the data. Only one bit<br />
can be transmitted per time, so that they are sent one-by-one. This method<br />
is generally used when data are to be sent over long distances and this is the<br />
method we shall consider henceforth.<br />
3.1.2 Communication modes<br />
Communication between two parties may take place in various ways. During<br />
a speech, for instance, information is mainly conveyed from one party to the<br />
other. However, during a conversation, information is being exchanged in both<br />
directions between two persons, usually alternating. It may also happen that<br />
information is exchanged during a conversation or a speech in both directions<br />
55
2.4. DIE X.25 PROTOKOL 55<br />
Bylaag 3<br />
OSI model X.25 protokol<br />
Toepassingslaag<br />
Voorstellingslaag<br />
Sessie-laag<br />
Transportlaag<br />
Netwerklaag Pakketlaag<br />
Dataverbindingslaag Raamlaag<br />
Fisiese-laag Fisiese-laag<br />
Die Fisiese laag<br />
Figure 2.10: Die verwantskap tussen die OSI model en X.25 protokol.<br />
Terwyl OSI se netwerklaag beide virtuele kring en datagram dienste verskaf word<br />
slegs ’n datagram diens deur TCP/IP se Internetlaag verskaf. Hierdie laag bevat<br />
die funksies wat nodig is om data vanaf ’n bron node, oor veelvuldige netwerke,<br />
na ’n bestemming node te stuur.<br />
3.1 Inleiding<br />
Die netwerk-koppelvlak-laag van TCP/IP kom ooreen met ’n kombinasie van<br />
OSI se dataverbindingslaag asook die netwerk afhanklike dele van die netwerklaag.<br />
Die onderste laag van die OSI model, die fisiese laag, het te doen met die<br />
omskakeling van ’n stroom bisse na elektriese <strong>of</strong> optiese seine, die stuur van<br />
die die seine deur ’n transmissie medium van een punt van die netwerk na ’n<br />
ander, en die omskakeling van elektriese <strong>of</strong> optiese seine na ’n stroom bisse by<br />
die bestemming.<br />
2.4 Die X.25 protokol<br />
3.1.1 Verbindingsmodusse<br />
Daar is basies twee wyses waarop die elektriese sein wat die bisse voorstel oorgestuur<br />
kan word. Die een is parallelle oorstuur modus. Met hierdie metode is daar<br />
’n aantal verbindings tussen die oorsprong en bestemming. ’n Aantal bisse kan<br />
dus gelyktydig, ’n bis per verbinding, oorgestuur word. Die voortplanting vertragings<br />
op die verskillende verbindings kan van mekaar verskil, bv. omdat die<br />
fisiese lengtes van die verskillende verbindings van mekaar verskil. Die gevolg<br />
is dat die bisse van ’n data eenheid op verskillende tye by die bestemming kan<br />
aankom. Hierdie metode is dus slegs geskik vir die stuur van data oor kort<br />
afstande en word gewoonlik tussen subeenhede van die rekenaarstelsel gebruik<br />
(bv. na die drukker).<br />
Die X.25 netwerk koppelvlak is in 1976 as ’n aanbeveling deur die CCITT<br />
goedgekeur. Hersienings het in 1980 en 1984 gevolg. Die verbinding van terminale,<br />
rekenaars en ander toestelle aan ’n pakket-geskakelde netwerk word deur<br />
X.25 gespesifiseer. In X.25 terminologie word die toestelle wat gekoppel word<br />
DTE’s (data-terminal equipment) genoem terwyl die netwerk toerusting <strong>of</strong> node<br />
waaraan die DTE gekoppel word as ’n DCE (data circuit-terminating equipment)<br />
bekend staan. ’n DTE wil tipies met ’n ander DTE kommunikeer deur<br />
middel van die netwerk. Die toegang van die DTE tot die netwerk word beheer<br />
deur die DCE waaraan dit gekoppel is. Die netwerk is verantwoordelik vir die<br />
hantering van die kommunikasie tussen die twee DCE’s waaraan die kommunikerende<br />
DTE’s gekoppel is. X.25 spesifiseer slegs die kommunikasie tussen<br />
DTE en DCE.<br />
Die X.25 protokol is ’n drie laag protokol waarvan die lae ooreenstem met die<br />
onderste drie OSI lae. Die verwantskap word in figuur 2.10 getoon.<br />
Die ander metode is die bis-seriale transmissie van data. Hier word van ’n enkele<br />
verbinding (paar geleiers) gebruik gemaak om die data oor te stuur. Slegs een<br />
bis kan dus op ’n slag gestuur word, dus word die bisse een na die ander gestuur.<br />
Hierdie metode word algemeen gebruik wanneer data oor lang afstande gestuur<br />
moet word en is die metode wat voortaan beskou word.<br />
3.1.2 Kommunikasiemodusse<br />
Wanneer kommunikasie tussen twee partye geskied kan dit op verskeie maniere<br />
geskied. Tydens ’n toespraak word inligting ho<strong>of</strong>saaklik van die een party na die<br />
ander oorgedra, aan die ander kant word inligting gedurende ’n gesprek tussen<br />
twee persone in beide rigtings, gewoonlik alternerend, uitgeruil. Dit kan egter<br />
<br />
57
3.2. TRANSMISSION MEDIA 57<br />
56 ADDENDUM 3. THE PHYSICAL LAYER<br />
<br />
firstly <strong>of</strong> an encoding method which does not only contain information about the<br />
values <strong>of</strong> the bits, but also sufficient information for the receiver to synchronise<br />
its clock with that <strong>of</strong> the sender. Each frame is also preceded by one or more<br />
reserved characters which may be used to establish byte synchronisation. These<br />
characters are called “sync” characters. Finally. each frame is preceded by a<br />
frame start character and is concluded by a frame end character. These two<br />
characters are used to establish frame synchronisation.<br />
simultaneously. Similarly one can distinguish between three communication<br />
modes when data are exchanged between two pieces <strong>of</strong> computer hardware:<br />
<br />
• Simplex: Data is transmitted in one direction only. An example is the<br />
communication between a computer and a printer. Data are being sent<br />
to the printer, but no data is received from the printer. (In this case<br />
the control signals transmitted from the printer to the computer are not<br />
considered as data.)<br />
3.2 Transmission media<br />
• Half-duplex: Data are sent in an alternating fashion one way or the other<br />
between two appliances. Each <strong>of</strong> these appliances can then only send or<br />
receive at a specific time and they have to switch between sending and<br />
receiving.<br />
The transmission media used in todays networks may be divided into two main<br />
categories. These categories are firstly conducting media like cables and optical<br />
fibres, and secondly radiative media, like radio or satellite broadcasting.<br />
• (Full) Duplex: In this case data are sent simultaneously in both directions<br />
between two appliances. Both appliances must therefore be able to send<br />
and receive simultaneously.<br />
• Open pair conductors<br />
Open pair conductors are the simplest and cheapest type <strong>of</strong> transmission<br />
medium. The two conductors are isolated from each other electrically, but<br />
is electromagnetically open. This type <strong>of</strong> link is satisfactory for connecting<br />
appliances at short distances and low bit rates. The signal is normally in<br />
the form <strong>of</strong> a voltage difference between the two conductors. With this<br />
medium one should guard against a cross coupling <strong>of</strong> signals on different<br />
conductors. Then also is noise pick-up a serious problem. It may typically<br />
happen that noise is picked up by one <strong>of</strong> the pair <strong>of</strong> conductors, resulting<br />
in a higher or lower voltage difference.<br />
3.1.3 Transmission modes<br />
Normally data are sent as multiples <strong>of</strong> fixed-length units between two computers.<br />
This fixed-length unit is normally eight bits and is called a byte, an octet or<br />
a character. Each character, (byte, octet) is sent bit-serial. The destination<br />
therefore receives a string <strong>of</strong> signals representing the bits <strong>of</strong> a character. The<br />
destination appliance has to be able to perform three tasks in order to make<br />
sense <strong>of</strong> the string <strong>of</strong> signals it receives:<br />
• Twisted pair<br />
Beter immunity against noise may be achieved by using a twisted pair. In<br />
this case the two conductors are twisted around each other. When noise<br />
is picked up, it would be picked up by both conductors, and the voltage<br />
difference between the two conductors will not change. Twisted pairs may<br />
also sometimes be shielded; then we call them a shielded twisted pair. One<br />
disadvantage occuring for a twisted pair is the skin effect. As the bitrate,<br />
and therefore the frequency, increases, the current in the conductors will<br />
flow ever closer to the surface. Less <strong>of</strong> the cross section <strong>of</strong> the conductor is<br />
used, and consequently an increase in the resistance will occur. This means<br />
that the signal is more attenuated at higher frequencies than at lower<br />
frequencies. A further loss is experienced at higher frequencies because <strong>of</strong><br />
radiation.<br />
1. It must be able to decide when a bit starts in order to evaluate each bit.<br />
2. The start and end <strong>of</strong> each character has to be identified.<br />
3. The start and end <strong>of</strong> each message (which is a string <strong>of</strong> characters) have<br />
to be identified. A message is also known as a frame.<br />
These three tasks are also called bit- or clock synchronisation, byte- or character<br />
synchronisation and block- or frame synchronisation.<br />
Synchronisation is normally achieved in one <strong>of</strong> two ways. The method depends<br />
on whether the clocks <strong>of</strong> the two DTU’s run independently or whether the clocks<br />
are synchronised.<br />
• Coaxial cable<br />
The disadvantages experienced with a twisted pair, namely that <strong>of</strong> radiation<br />
and the surface effect, are greatly reduced in coaxial cables. Coaxial<br />
cables are also more immune against noise. Very high data rates are possible,<br />
even as high as 400 Mbps.<br />
In the case where the clocks run independently we call it asynchronous transmission.<br />
In this case the bit- and byte resynchronisation is done at the beginning<br />
<strong>of</strong> every byte. This method is usually employed when the characters that are to<br />
be transmitted are generated at random intervals, for instance, when they are<br />
typed on a keyboard. There are therefore random intervals (which are relatively<br />
long) between characters. There can be no frame synchronisation in the case <strong>of</strong><br />
asynchronous transmission.<br />
• Optical fibre<br />
In optical fibres the signal is in the form <strong>of</strong> a light ray. Very high data rates<br />
(1 Gbps and higher) are possible and a further advantage is that optical<br />
The second way <strong>of</strong> synchronisation is synchronous transmission. This method<br />
is used especially when large blocks <strong>of</strong> data are to be sent. The block <strong>of</strong> data<br />
is sent as a continuous stream <strong>of</strong> bits without any delay between every pair<br />
<strong>of</strong> consecutive bytes. To retain the three levels <strong>of</strong> synchronisation, use is made
3.2. TRANSMISSIE MEDIA 59<br />
58 BYLAAG 3. DIE FISIESE LAAG<br />
word as ’n aaneenlopende stroom bisse gestuur sonder dat daar ’n vertraging<br />
tussen elke paar opeenvolgende grepe is. Om die drie vlakke van sinkronisasie te<br />
kan handhaaf word daar eerstens van ’n enkodering metode gebruik gemaak wat<br />
nie net inligting oor die bisse se waardes bevat nie maar ook genoeg inligting<br />
om dit vir die ontvanger moontlik te maak om sy klok met die sender se klok<br />
te sinkroniseer. Verder word elke raam deur een <strong>of</strong> meer gereserveerde karakters<br />
voorafgegaan wat gebruik kan word om greepsinkronisasie te bewerkstellig.<br />
Hierdie karakters staan as “sync” karakters bekend. Laastens word elke raam<br />
ook deur ’n begin van raam karakter voorafgegaan en afgesluit met ’n einde van<br />
raam karakter. Hierdie twee karakters word gebruik om raamsinkronisasie te<br />
bewerkstellig.<br />
wees dat inligting gedurende ’n toespraak <strong>of</strong> gesprek in beide rigtings gelyktydig<br />
uitgeruil word. Op dieselfde wyse kan daar tussen drie kommunikasiemodusse<br />
onderskei word wanneer data tussen twee stukke rekenaar toerusting uitgeruil<br />
word:<br />
• Simpleks: Data word slegs in een rigting oorgedra. ’n Voorbeeld is is die<br />
kommunikasie tussen ’n rekenaar en drukker, data word na die drukker<br />
gestuur maar geen data word van die drukker ontvang nie. (Ons beskou<br />
die beheerseine wat deur die drukker na die rekenaar gestuur word nie as<br />
data nie.)<br />
3.2 Transmissie media<br />
• Half-dupleks: Data word alternerend heen en weer tussen twee stukke<br />
toerusting gestuur. Elke stuk toerusting kan tipies slegs stuur <strong>of</strong> ontvang<br />
en dus moet hulle tussen die stuur en ontvang kan skakel.<br />
Die transmissie media wat in hedendaagse rekenaarnetwerke gebruik word kan in<br />
twee breë katogorieë opgedeel word. Hierdie kategorieë is eerstens die geleidende<br />
media soos kabels en optiese vesel en tweedens uitstralende media waaronder<br />
radio uitsendings en die gebruik van satelliete val.<br />
• (Vol-)Dupleks: Data word hier gelyktydig in beide rigtings tussen twee<br />
stukke toerusting gestuur. Beide stukke toerusting moet dus gelyktydig<br />
kan stuur en ontvang.<br />
3.1.3 Transmissiemodusse<br />
• Oop paar geleiers.<br />
Oop paar geleiers is die eenvoudigste en goedkoopste tipe transmissie<br />
medium. Die twee geleiers is elektries van mekaar geisoleer maar is elektromagneties<br />
oop. Hierdie tipe verbinding is aanvaarbaar om toerusting<br />
oor kort afstande en teen lae bistempos met mekaar te verbind. Die sein<br />
is gewoonlik in die vorm van ’n spanning verskil tussen die twee geleiers.<br />
Daar moet met hierdie tipe medium gewaak word teen kruiskoppeling van<br />
seine op verskillende geleierpare. Verder is die optel van ruis ’n groot<br />
probleem. Dit kan tipies gebeur dat ruis deur slegs een van die geleiers<br />
in ’n paar opgetel word sodat die ’n kleiner <strong>of</strong> groter resulterende spanningsverskil<br />
verkry word.<br />
Data word gewoonlik as veelvoude van ’n vaste lengte eenheid tussen twee rekenaars<br />
gestuur. Die vaste lengte eenheid is gewoonlik agt bisse en word ’n greep,<br />
oktet <strong>of</strong> karakter genoem. Elke karakter (greep, oktet) word bis-seriaal gestuur.<br />
Die bestemming ontvang dus ’n string seine wat die bisse van die karakter voorstel.<br />
Daar is drie take wat die bestemming moet kan uitvoer om in staat te wees<br />
om sin te maak van die string seine wat dit ontvang:<br />
1. Dit moet kan vasstel wanneer ’n bis begin om sodoende elke bis se waarde<br />
te kan vasstel.<br />
2. Die begin en einde van elke karakter moet geïdentifiseer word.<br />
• Vlegpaar.<br />
Beter ruis immuniteit kan verkry word met die gebruik van ’n vlegpaar.<br />
Hier is die twee geleiers om mekaar gedraai. Indien ruis opgetel word<br />
sal dit deur beide geleiers opgetel word, gevolglik sal die spanning verskil<br />
tussen die twee geleiers nog dieselfde wees. Vlegpare word soms ook<br />
afgeskerm, dan praat ons van ’n afgeskermde vlegpaar. ’n Nadeel wat by<br />
vlegpaar ’n rol speel is die oppervlakeffek (skin effect). Soos die bistempo,<br />
en dus die frekwensie, toeneem sal die stroom in die geleiers al nader aan<br />
die oppervlak vloei. Minder van die geleier se deursnee word gebruik en<br />
gevolglik is daar ’n toename in weerstand. Die sein word dus meer verswak<br />
by hoër frekwensies as by lae frekwensies. Verdere verliese word by hoë<br />
frekwensies ondervind as gevolg van uitstraling.<br />
3. Die begin en einde van elke boodskap (string karakters) moet geïdentifiseer<br />
word. ’n Boodskap staan ook as ’n raam bekend.<br />
Hierdie drie take staan ook as bis- <strong>of</strong> kloksinkronisasie, greep- <strong>of</strong> karaktersinkronisasie<br />
en blok- <strong>of</strong> raamsinkronisasie bekend.<br />
Sinkronisasie word in die algemeen op een van twee maniere verkry. Die metode<br />
hang af van <strong>of</strong> die twee DTE’s se klokke onafhanklik van mekaar loop en <strong>of</strong> die<br />
klokke met mekaar gesinkroniseer is.<br />
• Koaksiale kabel.<br />
Die nadele ten opsigte van oppervlak effek en uitstraling wat by vlegpaar<br />
ondervind is word by koaksiale kabels verminder. Koaksiale kabels het<br />
ook weer ’n groter ruis immuniteit as vlegpaar. Baie hoë datatempos is<br />
moontlik, self tot 400 Mbps.<br />
Indien die klokke onafhanklik van mekaar loop praat ons van asinkrone transmissie.<br />
Hier word bis- en greep hersinkronisasie aan die begin van elke greep gedoen.<br />
Hierdie metode word gewoonlik gebruik indien die karakters wat gestuur<br />
moet word op lukraak intervalle gegenereer word, bv. by ’n sleutelbord ingetik<br />
word. Daar bestaan dus willekeurige intervalle (wat relatief lank is) tussen<br />
karakters. Verder is daar geen sprake van raamsinkronisasie met asinkrone<br />
transmissie.<br />
<br />
Die tweede metode van sinkronisasie is sinkrone transmissie. Hierdie metode<br />
word veral gebruik wanneer groot blokke data gestuur moet word. Die blok data
3.4. MODULATION 59<br />
58 ADDENDUM 3. THE PHYSICAL LAYER<br />
<br />
• Errors<br />
Another consideration is the error rate <strong>of</strong> the medium at different data<br />
rates. Is the error rate acceptably low, and is it possible to recover the<br />
errors without losing too much <strong>of</strong> the rate <strong>of</strong> data transmission?<br />
fibre is totally immune against electomagnetic interference. Losses are<br />
minimal. The cost involved in optical fibre, however, is quite high. Special<br />
optical emitters and receivers have to be employed, and the connections<br />
are difficult and expensive. Optical cable is also mechanically weaker than<br />
coaxial cable.<br />
<br />
• Security<br />
One should look at the vulnerability <strong>of</strong> the network against unwarranted<br />
access. Fraudulent access may be passive— where the transgressor is<br />
just eavesdropping, or it may be active — the transgressor modifies the<br />
information....<br />
• Microwaves<br />
For microwave radio transmissions line-<strong>of</strong>-sight is required, i.e. the emitter<br />
and receiver have to be able to “see” each other. A typical example is<br />
satellite links, where use is made <strong>of</strong> communication satellites.<br />
• Security and number <strong>of</strong> nodes<br />
If one is dealing with a small number <strong>of</strong> nodes in a limited area, one can<br />
make use <strong>of</strong> a LAN and install the medium oneself. However, as the area<br />
increases, for instance when it is spread over a city, use should rather<br />
be made <strong>of</strong> a medium provided by a third party (such as the telephone<br />
network). If the area is spread over the entire country, or maybe the entire<br />
earth, then a communication satellite is probably the way to go.<br />
3.3 Media selection criteria<br />
When a network is set up, there are a number <strong>of</strong> criteria for the selection <strong>of</strong> the<br />
transmission medium. Not all factors are relevant, however, in every situation.<br />
They are also interdependent.<br />
• Environment<br />
One should consider the electromagnetic environment. In a factory, for<br />
instance, there may be much electromagnetic interference because <strong>of</strong> electric<br />
motors. In such an environment a medium should be chosen having<br />
high immunity against noise. Then local authority ordinances and rental<br />
contracts may be factors. The local authority may prohibit the installing<br />
<strong>of</strong> cables over or under a street. On the other hand the rental contract may<br />
specify that no satellite dish may be installed on the ro<strong>of</strong> <strong>of</strong> a building.<br />
• Cost<br />
As the technology improves, the cost is reduced. One should, however, not<br />
only look at the cost <strong>of</strong> the medium (for instance, the price <strong>of</strong> cable per<br />
metre) but the cost <strong>of</strong> special hardware and s<strong>of</strong>tware must also be taken<br />
into consideration. Then also the cost <strong>of</strong> possible future extension <strong>of</strong> the<br />
network must be kept in mind.<br />
• Maintenance and reliability<br />
The cost and time involved to fix interruptions play a major role. A<br />
contingency plan should probably be considered in the form <strong>of</strong> backup<br />
media if the link is down.<br />
• Speed<br />
When speed is considered, there are two factors that come into play. First<br />
is response time. Especially for real time systems one should take into<br />
account the response time for every type <strong>of</strong> transaction. Response time<br />
again is determined by two components, i.e. the time to transmit the<br />
request and then the result, and the time it takes to process the request.<br />
The speed <strong>of</strong> the medium used only plays a role with the first <strong>of</strong> these<br />
factors.<br />
3.4 Modulation<br />
The second factor that affects the speed is the average data rate, which is<br />
especially important when large volumes <strong>of</strong> data are to be transmitted.<br />
The telephone network was originally designed for speech communication. Speech<br />
consists <strong>of</strong> a mixture <strong>of</strong> (audio) frequencies ranging from 400 to 3400 Hz. The<br />
telephone network was therfore designed to transmit signals in the frequncy<br />
range 400 to 3400 Hz. Signals below and above this frequency range is not<br />
passed. In the case <strong>of</strong> digital data two voltages are normally used to represent<br />
0’s and 1’s. It may therefore happen that some data would have too low<br />
frequencies, especially when long strings <strong>of</strong> 0’s and 1’s are sent. The frequency<br />
restrictions <strong>of</strong> the telephone network therefore prevents such digital signals from<br />
being transmitted. Data sent via the telephone thus have to be converted first to<br />
a form that is acceptable for the telephone network. To convert the digital signal<br />
<strong>of</strong> the computer to an audio signal that is acceptable for the telephone network,<br />
use is made <strong>of</strong> a modem. Before the signal is sent, it has to be MOdulated, and<br />
the signal received at the destination is then DEModulated.<br />
• Availability<br />
The consideration here is that the medium must be available when it is<br />
required, and sufficient capacity must be available to handle the volume<br />
<strong>of</strong> data. If the telephone network is used, it may happen that no line is<br />
available during the peak telephone usage.<br />
• Extendability<br />
A network <strong>of</strong>ten has to be expanded, either by installing more nodes in a<br />
room (or building, or factory, or campus) or by connecting more rooms ( or<br />
buildings, factories or campuses) to the network. Factors to be considered<br />
are cost and the work involved to do the expansion. One can also investigate<br />
whether it is possible to make use <strong>of</strong> multiplexers or concentrators<br />
with the medium chosen (does the medium have the necessary capacity<br />
to handle the increased traffic <strong>of</strong> more nodes?).
3.4. MODULASIE 61<br />
60 BYLAAG 3. DIE FISIESE LAAG<br />
gekyk word <strong>of</strong> dit moontlik is om multipleksers <strong>of</strong> konsentreerders met die<br />
geselekteerde medium te gebruik (het die medium die nodige kapasiteit<br />
om ’n groter aantal nodes se verkeer te hanteer?).<br />
• Foute.<br />
Daar moet gekyk word na die fouttempo van die medium teen verskillende<br />
data tempos. Is dit aanvaarbaar laag en is dit moonlik om sonder te veel<br />
verlies van data tempo te herstel van die foute wat voorkom?<br />
• Optiese vesel.<br />
By optiese vesel is die sein in die vorm van ’n ligbundel. Baie hoë datatempos<br />
(1 Gbps en hoër) is moontlik en verder is optiese vesel heeltemal immuun<br />
teen elektromagnetiese steurings. Verliese is ook baie laag. Die<br />
koste verbonde aan optiese vesel is egter hoog, spesiale optiese send- en<br />
ontvangseenhede moet gebruik word, die maak van koppelings is moeilik<br />
en duur. Verder is optiese vesel ook meganies swakker as koaksiale kabels.<br />
• Sekuriteit.<br />
Daar moet gekyk word na hoe maklik dit vir indringers is om op die<br />
netwerk in te breek. Inbraak kan passief wees- die inbreker luister net af,<br />
<strong>of</strong> dit kan aktief wees- die inbreker verander aan die inligting....<br />
• Mikrogolwe.<br />
By mikrogolf radio uitsendings is lyn van sig kommunikasie ter sprake,<br />
m.a.w. die sender en ontvanger moet mekaar kan “sien”. ’n Tipiese voorbeeld<br />
is satelliet verbindings waar van kommunikasie satelliete gebruik<br />
gemaak word.<br />
• Sekuriteit en aantal nodes.<br />
Indien daar ’n klein aantal nodes in ’n beperkte gebied ter sprake is kan die<br />
onderneming van ’n LAN gebruik maak en self die medium installeer, soos<br />
die gebied groter word, bv. oor die stad versprei, moet die onderneming<br />
dalk eerder van ’n medium wat deur ’n derde party (telefoon netwerk)<br />
verskaf word gebruik maak. Indien die gebied oor die hele land (aardbol)<br />
versprei is, is ’n kommunikasie satelliet dalk eerder die uitweg wat gevolg<br />
moet word.<br />
3.3 Media seleksie kriteria<br />
Daar is ’n aantal faktore wat ’n rol speel by die selektering van ’n transmissie<br />
medium wanneer ’n netwerk opgestel word. Nie alle faktore speel egter in elke<br />
situasie ’n rol nie. Die faktore beïnvloed ook mekaar.<br />
• Omgewing.<br />
Daar moet gekyk word na die elekromagnetiese omgewing, in ’n fabriek<br />
kan daar dalk baie elektromagnetiese steurings as gevolg van elektriese<br />
masjiene wees. In so ’n omgewing moet ’n medium gekies word wat ’n hoë<br />
ruis immuniteit het. Verder is veral plaaslike wetgewing en huur kontrakte<br />
ter sprake. Plaaslike wetgewing kan ’n onderneming dalk verbied om sy<br />
eie kabels oor <strong>of</strong> onderdeur ’n straat te span. Aan die anderkant kan hy<br />
dalk deur ’n huurkontrak verbied word om ’n satellietskottel om die gebou,<br />
waarin hy kantore het, se dak te installeer.<br />
• Koste.<br />
Soos tegnologie verbeter kom die koste af. Daar moet egter nie net na<br />
die koste van die medium (bv. kabel per meter) gekyk word nie maar ook<br />
na die koste van spesiale apparatuur (koppeleenhede) en programatuur.<br />
Verder moet die koste van uitbreiding ook in gedagte gehou word.<br />
• Instandhouding/betroubaarheid<br />
Die koste en tyd verbonde aan herstel van breuke speel hier ’n groot rol.<br />
Verder moet daar ook gekyk word na die beskikbaarheid van rugsteun<br />
verbindings indien ’n verbinding afgaan.<br />
• Spoed.<br />
By spoed is daar twee faktore wat ’n rol speel. Eerstens is daar responstyd.<br />
Veral by intydse stelsels moet daar na die responstyd van elke tipe<br />
transaksie gekyk word. Responstyd bestaan uit twee komponente, nl. die<br />
tyd om die versoek en dan die resultaat oor te stuur en die tyd wat dit<br />
neem om die versoek te verwerk. Die spoed van die medium wat gebruik<br />
word speel egter net by die eerste van hierdie twee faktore ’n rol.<br />
Die tweede faktor wat by spoed ’n rol speel is die gemiddelde data tempo,<br />
wat veral belangrik is by die oorstuur van groot volumes data.<br />
3.4 Modulasie<br />
• Beskikbaarheid.<br />
Hier moet daar gekyk word na die beskikbaarheid van die medium wanneer<br />
dit benodig word asook na die beskikbaarheid van kapasiteit om die<br />
volume data te kan hanteer. Indien die telefoon netwerk gebruik word kan<br />
dit gebeur dat daar nie ’n lyn beskikbaar is tydens tye van piek telefoon<br />
gebruik.<br />
Die telefoon netwerk is aanvanklik ontwerp om spraak kommunikasie te hanteer.<br />
Spraak bestaan uit ’n mengsel (audio) frekwensies wat wissel tussen 400 en 3400<br />
Hz. Die telefoon netwerk is dan ook ontwerp om alle seine met frekwensies<br />
tussen 400 en 3400 Hz deur te laat. Alle seine onder en bo hierdie gebied word<br />
nie deurgelaat nie. In die geval van digitale data word twee spanningsvlakke<br />
gewoonlik gebruik om 0’e en 1’e voor te stel. Dit kan dus nou gebeur dat<br />
’n klomp data wat gestuur word ’n te lae frekwensie het, veral as daar lang<br />
stringe 0’e <strong>of</strong> 1’e gestuur word. Vanwee die frekwensie beperking van die telefoon<br />
netwerk kan sulke digitale seine dus nie daaroor gestuur word nie. Data wat oor<br />
• Uitbreibaarheid.<br />
Dit is soms nodig om ’n netwerk uit te brei, hetsy deur meer nodes in ’n<br />
vertrek (gebou, fabriek, kampus) te plaas <strong>of</strong> deur nog vertrekke (geboue,<br />
fabrieke, kampusse) by die netwerk in te skakel. Faktore waarna gekyk<br />
moet word is koste en moeite verbonde aan ’n uitbreiding. Daar kan ook
3.5. BANDWIDTH 61<br />
60 ADDENDUM 3. THE PHYSICAL LAYER<br />
3.5 Bandwidth<br />
<br />
Bandwidth is defined as the difference between the maximum and minimum<br />
frequencies that can be handled by the medium. The bandwidth <strong>of</strong> the telephone<br />
network is therefore 3000 Hz (3400-400). Bandwidth is a measure <strong>of</strong> the rate<br />
at which data can be transmitted by a medium. Two other terms used in this<br />
connection, are baud and bitrate (also written bit rate). Baud is the number<br />
<strong>of</strong> signal changes that can occur per second, while bitrate describes the number<br />
<strong>of</strong> bits that can be transferred per second. Normally baud and bitrate are the<br />
same thing, but in the event <strong>of</strong> quadrature modulation, where every signal level<br />
can represent two bits, the bitrate is double the baud rate.<br />
There are several ways in which the modulation can be done. In all cases a<br />
carrier wave is used. When the carrier wave is unchanged, it means that no<br />
information is tansmitted. The carrier wave is a sine wave and has a frequency<br />
which is suitable for the telephone network. The carrier wave can be written as<br />
a function <strong>of</strong> time as:<br />
d(t) = A sin(2πft) + θ<br />
<br />
where A is the amplitude and f is the frequency <strong>of</strong> the carrier wave, while θ<br />
represents the phase <strong>of</strong> the carrier wave. All three these properties may be<br />
varied. It may for instance, be decided that a 0-bit is represented by one value<br />
<strong>of</strong> one <strong>of</strong> these properties (e.g. the amplitude) while a different value <strong>of</strong> the<br />
same property will represent a 1-bit. This conversion <strong>of</strong> a stream <strong>of</strong> bits to a<br />
carrier wave <strong>of</strong> which one or more property is varied to represent the stream <strong>of</strong><br />
bits, is called modulation.<br />
According to Nyquist the maximum number <strong>of</strong> binary numbers that can be<br />
transferred is equal to twice the bandwidth. A generalisation <strong>of</strong> his formula<br />
is that: C = 2B log2 M. In this equation C is the bitrate in bps, B is the<br />
bandwidth in Hz and M is the number <strong>of</strong> signal levels used to represent data.<br />
(I.e. in quadrature modulation M is equal to 4.) However, one should remember<br />
that Nyquist did not take interference into account.<br />
Shannon, However, does take the signal strength <strong>of</strong> both the data signals and<br />
the noise ito account. According to Shannon: C = B log2(1 + S<br />
R ). Once again,<br />
C is the bitrate in bps and B is the bandwidth in Hz. Furthermore, S is the<br />
signal strength in watt and R is the noise level in watt. The ratio S<br />
R is known<br />
as the signal-to-noise ratio. The signal-to-noise ratio can also be expressed in<br />
dB: s<br />
r = 10 log10( S<br />
R ) dB.<br />
• The first method <strong>of</strong> modulation is amplitude modulation. This is where a<br />
carrier wave with constant frequency is used, but with variable amplitude.<br />
A certain amplitude represents a 0-bit, and another amplitude represents<br />
a 1-bit. The problem with amplitude variation is that it is very sensitive<br />
to noise. Attenuation is also a considerable factor.<br />
Shannon’s limit is an absolute upper limit, but in practice this limit is not really<br />
achieved.<br />
• Frequency modulation, on the other hand, is more immune against noise<br />
and is also not so prone to attenuation. In frequency modulation use is<br />
made <strong>of</strong> two carrier waves with different frequencies. The one frequency<br />
represents a 0-bit, the other a 1-bit. This method is known as fequency<br />
shift transformation. This method is used in modems handling lower data<br />
rates.<br />
3.6 Attenuation and distortion<br />
3.6.1 Transmission <strong>of</strong> bits over a digital link<br />
Bits may be transferred over a digital link, which is not subject to the limitations<br />
applying to the (analog) telephone network, by alternating a physical property<br />
like voltage or current. For instance, one voltage level can repressent a bit with<br />
value 0 while another voltage level could represent a bit <strong>of</strong> value 1. By plotting<br />
the voltage or the current as a function <strong>of</strong> time, g(t), it is then possible to analyse<br />
the signal by means <strong>of</strong> a Fourier analysis. According to Fourier’s theory, any<br />
function which is more or less periodic may be written as the sum <strong>of</strong> a (possibly<br />
∞<br />
bn sin(2πnft)<br />
infinite) number <strong>of</strong> sines and cosines:<br />
∞<br />
g(t) = an cos(2πnft) +<br />
n=0<br />
n=0<br />
• The third and last characteristic <strong>of</strong> the carrier wave that can be varied,<br />
is its phase. Both the amplitude and the frequency <strong>of</strong> the carrier wave is<br />
kept constant. One way to impliment the modulation, is to make use <strong>of</strong><br />
two carrier waves with the same frequency and amplitude, but with phases<br />
differing by 180◦ . The one carrier wave then represents a 0-bit and the<br />
other a 1-bit. As the data is transmitted, one <strong>of</strong> the carrier waves is sent,<br />
depending whether it should be a 0 or a 1. In this method it is necessary<br />
that a reference carrier wave should reside at the receiver, for comparison<br />
with the received signal. This method is known as phase coherent<br />
phase shift distortion. This method requires rather complex demodulation<br />
circuits. An alternative method involves a phase shift for every binary<br />
number that is sent. In this case a phase shift <strong>of</strong> 90◦ represents a 0 and<br />
a phase shift <strong>of</strong> 270◦ a 1. Use can also be made <strong>of</strong> four (or more) phases.<br />
Where for instance four phases are used, each phase represents two binary<br />
numbes; i.e. 45◦ represents 00, 135◦ 01, 225◦ 10 and 315◦ represents 11.<br />
In this expression f is the fundamental frequency, while an and bn are the<br />
amplitudes <strong>of</strong> the n’th harmonic <strong>of</strong> the Fourier component’s cosine and sine<br />
terms. Then also the frequency <strong>of</strong> the n’th harmonic is equal to n times the<br />
fundamental frequency. When a stream <strong>of</strong> bits is therefore to be transferred as<br />
an electronic signal, then what is actually transferred is a number <strong>of</strong> sine waves<br />
<strong>of</strong> increasing frequency.<br />
• Combinations <strong>of</strong> the three methods <strong>of</strong> modulation are also possible. With<br />
quadrature modulation use is made <strong>of</strong> two amplitude levels and two phase<br />
shifts so that 2 bits can be represeted with each signal combination. In<br />
this way, three bits can be represeted per signal combination if use would<br />
be made for instance <strong>of</strong> 4 phase shifts and 2 frequencies.
3.5. BANDWYDTE 63<br />
62 BYLAAG 3. DIE FISIESE LAAG<br />
• Kombinasies van die drie modulasie metodes is ook moontlik. Met kwadratuur<br />
modulasie word twee amplitude vlakke en twee faseverskuiwings gebruik<br />
sodat 2 bisse met elke seinkombinasie voorgestel kan word. So kan drie<br />
bisse per seinkombinasie voorgestel word indien bv. 4 faseverskuiwings en<br />
2 frekwensies gebruik word.<br />
die telefoon netwerk gestuur moet word, moet dus eers omgeskakel word na ’n<br />
vorm wat vir die telefoon netwerk aanvaarbaar is. Om die rekenaar se digitale<br />
sein om te skakel na ’n audio sein wat vir die telefoon netwerk aanvaarbaar<br />
is word van ’n modem gebruik te maak. Voordat data gestuur word word dit<br />
eers geMOduleer en die sein wat by die bestemming ontvang word, word dan<br />
geDEModuleer.<br />
3.5 Bandwydte<br />
Daar is verskeie wyses waarop modulasie gedoen kan word. In alle gevalle is daar<br />
’n dragolf ter sprake. Indien die dragolf onveranderd is beteken dit dat daar<br />
geen inligting gestuur word nie. Die dragolf is sinusvormig en het ’n frekwensie<br />
wat deur die telefoon netwerk hanteer kan word. Die dragolf kan as ’n funksie<br />
van tyd geskryf word:<br />
d(t) = Asin(2πft) + θ<br />
Bandwydte word gedefinieer as die verskil tussen die maksimum en minimum<br />
frekwensies wat deur ’n medium hanteer kan word. Die bandwydte van die<br />
telefoon netwerk is dus 3000 Hz (3400-400). Bandwydte is ’n maat van die<br />
tempo waarteen data oor ’n medium gestuur kan word. Nog twee terme wat<br />
hier tersprake kom is baud en bistempo. Baud is die aantal seinveranderings<br />
wat per sekonde kan voorkom terwyl bistempo die aantal bisse per sekonde is<br />
wat gestuur kan word. Normaalweg is baud en bistempo dieselfde, maar in die<br />
geval van kwadratuur modulasie, waar elke seinvlak twee bisse kan voorstel is<br />
die bistempo dubbel die baud tempo.<br />
Hier is A die amplitude en f die frekwensie van die dragolf terwyl θ die fase van<br />
die dragolf is. Al drie hierdie eienskappe kan verander word. So kan besluit word<br />
dat ’n 0-bis deur een waarde van een van hierdie eienskappe (bv. amplitude)<br />
voorgestel word terwyl ’n verskillende waarde van dieselfde eienskap ’n 1-bis<br />
voorstel. Hierdie omskakeling van ’n stroom bisse na ’n dragolf waarvan een<br />
(<strong>of</strong> meer) eienskap verander word om die stroom bisse voor te stel staan as<br />
modulasie bekend.<br />
Volgens Nyquist is die maksimum aantal binere syfers wat gestuur kan word<br />
gelyk aan twee maal die bandwydte. ’n Veralgemening van sy bewering is:<br />
C = 2B log2 M. Hier is C die bistempo in bps, B is die bandwydte in Hz en M<br />
is die aantal seinvlakke wat per seineenheid voorgestel kan word. (M.a.w. met<br />
kwadratuur modulasie is M gelyk aan 4.) Dit is egter belangrik om te onthou<br />
dat Nyquist glad nie steurings in aanmerking geneem het nie.<br />
• Die eerste metode van modulasie is amplitude modulasie. Hier word ’n<br />
dragolf met konstante frekwensie gebruik maar word die dragolf se amplitude<br />
verander. ’n Sekere amplitude stel ’n 0-bis voor en ’n ander amplitude<br />
’n 1-bis. Amplitude modulasie is egter baie gevoelig vir ruis. Verder speel<br />
verswakking van die sein ook ’n groot rol.<br />
Shannon bring egter wel die seinsterkte van beide dataseine en ruis in aanmerking.<br />
Volgens Shannon is: C = B log2 (1 + S<br />
R ). Weereens is C bistempo in bps<br />
en B die bandwydte in Hz. Verder is S die seinsterkte in watt en R die ruissterkte<br />
in watt. S<br />
R staan as die sein tot ruis verhouding bekend. Die sein tot<br />
ruis verhouding kan ook in dB gegee word: s<br />
r = 10 log10( S<br />
R ) dB.<br />
Shannon se limiet is ’n absolute bogrens maar in die praktyk is dit egter moeilik<br />
om naby die waarde te kom.<br />
• Frekwensie modulasie daarenteen is meer immuun teen ruis en is ook nie<br />
so gevoelig vir verswakking van die sein nie. By frekwensie modulasie word<br />
daar van twee dragolwe met verskillende frekwensies gebruik gemaak. Die<br />
een frekwensie stel dan ’n 0-bis voor en die ander ’n 1-bis. Hierdie metode<br />
staan as frekwensieskuifvervorming bekend. Hierdie is dan ook die metode<br />
wat gebruik word met modems wat laer data tempos hanteer.<br />
3.6 Attenuasie en distorsie<br />
3.6.1 Transmissie van bisse oor ’n digitale verbinding<br />
Bisse kan oor ’n digitale verbinding, wat nie onderhewig is aan die beperkings<br />
wat by die (analoog) telefoonnetwerk geld, gestuur word deur ’n fisiese eienskap<br />
soos spanning <strong>of</strong> stroom te wissel. So kan een spanningvlak bv. ’n bis met<br />
die waarde 0 voorstel terwyl ’n ander spanningvlak ’n 1 bis voorstel. Deur<br />
die spanning <strong>of</strong> stroom as ’n funksie van tyd, bv. g(t), voor te stel is dit<br />
dan moontlik om die gedrag van die sein wiskundig, d.m.v. Fourier analise, te<br />
analiseer. Volgens Fourier analise kan enige funksie wat naastenby periodies is<br />
geskryf word as die som van ’n (moontlik oneindige) aantal sinusse en cosinusse:<br />
∞<br />
g(t) =<br />
• Die derde en laaste eienskap van die dragolf wat kan verander is sy fase.<br />
Beide die frekwensie en amplitude van die dragolf word konstant gehou.<br />
Een metode om amplitude modulasie te implementeer is om twee dragolwe<br />
met dieselfde frekwensies en amplitudes maar met fases wat met 180◦ verskil<br />
te hê. Die een dragolf stel dan ’n 0-bis en die ander ’n 1-bis voor. Soos<br />
die data gestuur word, word een van die dragolwe gestuur, afhangende<br />
van <strong>of</strong> ’n 0 <strong>of</strong> ’n 1 gestuur moet word. Met hierdie metode is dit nodig<br />
dat ’n verwysing dragolf by die ontvanger moet wees waarteen die ontvangde<br />
sein gemeet kan word. Hierdie metode staan as fase-koherente<br />
faseskuifvervorming bekend. Hierdie metode benodig dan ook komplekse<br />
demodulering stroombane. ’n Alternatiewe metode behels dat daar met<br />
elke binere syfer wat gestuur word ’n fase verskuiwing plaasvind. Hierdie<br />
metode staan as differentiale faseskuifvervorming bekend. Hier stel ’n fase<br />
verskuiwing van 90◦ ’n 0 voor en ’n fase verskuiwing van 270◦ ’n 1. Daar<br />
kan ook van vier (<strong>of</strong> meer) fases gebruik maak. In die geval van vier fases<br />
stel elke fase twee binere syfers voor, dus 45◦ stel 00 voor, 135◦ 01, 225◦ 10 en 315◦ stel 11 voor.<br />
<br />
∞<br />
bn sin(2πnft)<br />
an cos(2πnft) +<br />
n=0<br />
n=0
3.7. SIGNAL PROPAGATION DELAY 63<br />
62 ADDENDUM 3. THE PHYSICAL LAYER<br />
3.6.2 Attenuation<br />
<br />
amplitude. One should however keep in mind that, although an impulse<br />
may be only half a second in duration, 1200 bits will be distorted if data<br />
are being transmitted at a rate <strong>of</strong> 2400 bps.<br />
<br />
• Cross coupling:<br />
We have already mentioned this kind <strong>of</strong> noise when we discussed open<br />
conductor pairs. It occurs as a result <strong>of</strong> electric and magnetic coupling<br />
between different conductors. As a result <strong>of</strong> this a signal on one conductor<br />
will appear as a small, but detrimental signal on another conductor. You<br />
may have experienced the so-called “crossed lines” which occur from time<br />
to time on the telephone network.<br />
3.7 Signal propagation delay<br />
As a signal propagates along a transmission medium, it amplitude decreases.<br />
This phenomenon is called signal attenuation or weakening. Attenuation is not<br />
constant for all frequencies, but typically increases as the frequency increases.<br />
The result is that the different Fourier components <strong>of</strong> a signal are attenuated<br />
differently, with the higher frequencies that are attenuated most. When the<br />
Fourier components are then again combined, a signal is obtand that is not<br />
only weaker, but that is also distorted. To take the attenuation into account,<br />
a maximum length is specified for each type <strong>of</strong> cable to ensure that the signal<br />
arriving at the receiver is <strong>of</strong> sufficient magnitude to be recognised. Should<br />
the maximum lengths be exceeded, it becomes necessary to use amplifiers or<br />
repeaters in the transmission line, at these maximum lengths, in order to recover<br />
the original strength <strong>of</strong> the signal. Seeing that the attenuation varies with<br />
frequency, it is necessary that the amplifiers or repeaters should be such that<br />
they amplify all frequencies to their original values.<br />
A signal (whether electric or optic or radio) always takes a finite time to travel<br />
from source to destination. The delay between send and receive <strong>of</strong> a signal is<br />
known as propagation delay. When source and destination are close together,<br />
the delay is small. In space electromagnetic signals (radio, light) travel at a<br />
speed <strong>of</strong> 3 ∗ 108 meters per second. In ’n twisted pair, however, the speed <strong>of</strong> a<br />
signal may only be <strong>of</strong> the order <strong>of</strong> 2 ∗ 108 meters per second.<br />
3.6.3 Delay distortion<br />
In data communication, data are sent in blocks or frames <strong>of</strong> bits. Then, typically,<br />
an acknowledgement is returned when the bits have been received. It is therefore<br />
important that we should know for a data link what the return time is, i.e. the<br />
time from when the first bit <strong>of</strong> the frame is sent until the time when the last<br />
bit <strong>of</strong> the acknowledgement is received. The return time depends on both the<br />
propagation delay and the transmission delay (this is the time it takes to send<br />
the frame at the bitrate <strong>of</strong> the link)<br />
The rate at which the different Fourier components are propagated along a transmission<br />
medium, is different for different frequencies. Consequently different<br />
Fourier components <strong>of</strong> a signal do not arrive simultaneously at the destination.<br />
This phenomenon is known as delay distortion. As the rate at which the bits are<br />
transferred increases, it may happen that some <strong>of</strong> the Fourier components <strong>of</strong> a<br />
particular bit may be delayed so much that they only arrive simultaneously with<br />
the next bit. The result is that the bits will be interpreted incorrectly. Delay<br />
distortion is also called inter-symbol interference. The effect <strong>of</strong> delay distortion<br />
increasesas the bitrate and the distance <strong>of</strong> transfer increase.<br />
3.6.4 Noise<br />
If no data are being sent over a transmission medium, then ideally there will be<br />
no electric signal on the medium. However, the real situation is that random<br />
electrical pulses will exist on the medium. These random pulses are called noise.<br />
Different kinds <strong>of</strong> noise can be identified :<br />
• White noise:<br />
White noise (also known as thermal or gaussian noise) is caused by the<br />
natural motion <strong>of</strong> electrons in the transmission medium. The strength <strong>of</strong><br />
white noise at 0 Kelvin is 0 watt and it increases as the temperature <strong>of</strong><br />
the medium increases. This noise consists <strong>of</strong> components with random<br />
frequencies and amplitudes.<br />
• Impulse noise:<br />
As indicated by its name, this noise consists <strong>of</strong> discrete pulses. These<br />
pulses are produced by switching elements in telephone exchanges or by<br />
lightning. Another source <strong>of</strong> impulse noise may be electrical motors on a<br />
factory floor. The source <strong>of</strong> this kind <strong>of</strong> noise is therefore extermnal to the<br />
medium. The impulses are usually <strong>of</strong> short duration, and have variable
3.7. SEIN VOORTPLANTING VERTRAGING 65<br />
64 BYLAAG 3. DIE FISIESE LAAG<br />
Witruis se sterkte by 0 Kelvin is 0 watt en neem toe soos die temperatuur<br />
van die medium toeneem. Die ruis bestaan uit komponente met lukraak<br />
frekwensies en amplitudes.<br />
In hierdie uitdrukking is f die fundamentele frekwensie terwyl an en bn die amplitudes<br />
van die n’e harmoniek <strong>of</strong> Fourier komponent se kosinus en sinus terme<br />
is, verder is die frekwensie van die n’e harmoniek gelyk aan n maal die fundamentele<br />
frekwensie. Wanneer ’n stroom bisse dus as ’n elektroniese sein gestuur<br />
word, word daar in werklikheid ’n klomp sinusvormige seine van toenemende<br />
frekwensie gestuur.<br />
• Impulsruis:<br />
Soos die naam aandui bestaan hierdie ruis uit diskrete pulse. Die pulse<br />
word veroorsaak deur skakelelemente in sentrales <strong>of</strong> weerlig. Nog ’n bron<br />
van impulsruis is elektriese masjiene op ’n fabriekvloer. Die bron van die<br />
ruis is dus ekstern tot die medium. Sulke impulse is gewoonlik van korte<br />
duur en het wisselende amplitudes. Daar moet egter in ag geneem word<br />
dat al is ’n impuls ’n halwe sekonde lank sal daar 1200 bisse onderhewig<br />
wees aan distorsie indien data teen ’n tempo van 2400 bps gestuur word.<br />
3.6.2 Attenuasie<br />
• Kruiskoppeling:<br />
Hierdie tipe ruis is reeds genoem tydens die bespreking van oop geleierpare.<br />
Dit kom voor as gevolg van die elektriese en elektromagnetiese koppeling<br />
tussen verskillende geleiers. Die gevolg is dat die sein wat lang een geleier<br />
gestuur word nou ook as ’n klein maar soms nadelige sein op ’n ander<br />
geleier voorkom. Vergelyk sogenaamde “gekruisde lyne” wat van tyd tot<br />
tyd op die telefoonnet voorkom.<br />
3.7 Sein voortplanting vertraging<br />
Soos ’n sein langs ’n transmissie medium voortgeplant word raak sy amplitude<br />
kleiner. Hierdie verskynsel staan as sein attenuasie <strong>of</strong> verswakking bekend. Attenuasie<br />
is ook nie konstant vir alle frekwensies nie, tipies raak attenuasie groter<br />
soos frekwensie toeneem. Die gevolg is dat die verskillende Fourier komponente<br />
van ’n sein verskillend verswak word, met die hoër frekwensie die meeste verswak.<br />
Wanneer die Fourier komponente dan weer bymekaargetel word word ’n<br />
sein verkry wat nie net verswak is nie maar ook vervorm is. Om vir attenuasie<br />
voorsiening te maak word daar vir elke tipe kabel maksimum lengtes gespesifiseer<br />
om te verseker dat die sein wat by die ontvanger aankom groot genoeg is<br />
om herken te kan word. Indien oor die maksimum lengtes gegaan word is dit<br />
nodig om versterkers <strong>of</strong> herhalers in die transmissielyn, op hierdie maksimum<br />
lengtes, te plaas om die sein tot sy oorspronklike seinsterkte te herstel. Aangesien<br />
attenuasie ook met frekwensie wissel is dit nodig dat die versterkers <strong>of</strong><br />
herhalers wat gebruik word alle frekwensies tot die selfde seinsterkte versterk.<br />
Dit neem ’n sein (elektries, lig <strong>of</strong> radio) altyd ’n eindige tyd om van oorsprong na<br />
bestemming te beweeg. Die vertraging tussen die stuur en ontvang van ’n sein<br />
staan as voortplanting vertraging bekend. Indien die bron en bestemming naby<br />
aan mekaar is, is die voortplanting vertraging klein. In die ruimte beweeg ’n<br />
elektromagnetiese sein (radio, lig) teen 3 ∗ 108 meter per sekonde, in ’n flegpaar<br />
is die spoed van ’n elektriese sein egter slegs in die orde van 2 ∗ 108 meter per<br />
sekonde.<br />
3.6.3 Vertragingsdistorsie<br />
Met datakommunikasie word data in blokke <strong>of</strong> rame van bisse gestuur, verder<br />
word daar tipies ’n erkenning op terug gestuur wanneer ’n raam ontvang is. Dit<br />
is dus belangrik om vir ’n dataverbinding te weet wat die omkeertyd is, dit wil<br />
sê die tyd vandat die eerste bis van die raam gestuur is totdat die laaste bis van<br />
die erkenning ontvang is. Omkeertyd is afhanklik van beide die voortplanting<br />
vertraging en die transmissie vertraging (die tyd wat dit neem om die raam te<br />
stuur teen die verbinding se bis tempo). ie relatiewe ge<br />
Die tempo waarteen die verskillende Fourier komponente van ’n sein langs ’n<br />
transmissie medium voortgeplant word verskil van frekwensie tot frekwensie.<br />
Die gevolg is dat die verskillende Fourier komponente van ’n sein nie gelyktydig<br />
by die bestemming aankom nie. Hierdie verskynsel staan as vertragingsdistorsie<br />
bekend. Soos die tempo waarteen bisse gestuur word toeneem gebeur dit<br />
dat sommige van die Fourier komponente van een bis soveel vertraag word dat<br />
dit eers tydens die opvolgende bis ontvang word. Die gevolg is dan dat van<br />
die bisse verkeerd geïnterpreteer word. Vertragingsdistorsie staan dan ook as<br />
tussensimbool steuring bekend. Die effek van vertragingsdistorsie neem toe soos<br />
die bistempo asook die afstand waaroor die data gestuur word toeneem.<br />
3.6.4 Ruis<br />
Indien geen data oor ’n transmissie medium gestuur word sal daar in die ideale<br />
geval geen elektriese sein op die medium teenwoordig wees nie. In werklikheid<br />
is daar wel lukraak elektriese seine op die medium teenwoordig. Hierdie lukraak<br />
elektriese seine staan as ruis bekend. Verskillende tipes ruis kan geïdentifiseer<br />
word:<br />
<br />
• Witruis:<br />
Witruis (staan ook as termiese <strong>of</strong> gausiese ruis bekend) word veroorsaak<br />
deur die normale beweging van elektrone in die transmissie medium.
74 ADDENDUM 4. THE DATA LINK LAYER<br />
<br />
Character Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Parity<br />
bit<br />
I 1 0 0 1 0 0 1 1<br />
N 1 0 0 1 1 1 0 0<br />
L 1 0 |0| 1 1 0 |0| 1<br />
I 1 0 0 1 0 0 1 1<br />
G 1 0 0 0 1 1 1 0<br />
T 1 0 1 0 1 0 0 1<br />
I 1 0 0 1 0 0 1 1<br />
N 1 0 |0| 1 1 1 |0| 0<br />
G 1 0 0 0 1 1 1 0<br />
BST 0 1 0 1 1 1 0 0<br />
<br />
Addendum 4<br />
Figure 4.1: Example <strong>of</strong> a block sum test Even parity is used for the rows and<br />
odd parity for the columns. If the four marked bits are inverted, the error will<br />
not be detected.<br />
The data link layer:<br />
Examples and analyses <strong>of</strong><br />
protocols<br />
is more generally used. In the next paragraphs we shall consider in more<br />
detail the protocols making use <strong>of</strong> this mechanism <strong>of</strong> error control.<br />
We are now going to study the methods use to determine whether the information<br />
that was received was correct or not. At a later stage we shall go into<br />
methods to request a repeat <strong>of</strong> the information if it was not received correctly.<br />
4.1 Error detection<br />
4.1.1 Errors do occur!<br />
4.1.2 Parity<br />
Parity is one <strong>of</strong> the simplest and most generally used methods to do error<br />
detection. Parity is used where small numbers <strong>of</strong> information bits are involved<br />
and where the possibility <strong>of</strong> an error occuring is small. A single bit, the parity<br />
bit, is added to every information element or to every character. In the case <strong>of</strong><br />
even parity, the parity bit is chosen such that an even number <strong>of</strong> 1 bits occurs<br />
in the character plus the parity bit. Where use is made <strong>of</strong> odd parity, there has<br />
to be an odd number <strong>of</strong> 1 bits. The receiver simply counts the number <strong>of</strong> 1 bits<br />
in every character and if there is an even (odd) number, the character has been<br />
received correctly. The sender and receiver has naturally to decide beforehand<br />
which parity will be used.<br />
When information is transmitted by electromagnetic waves from one point to<br />
another, distortion <strong>of</strong> the information may occur because <strong>of</strong> electromagnetic interference.<br />
The result may be that bits, <strong>of</strong> which the values were supposed to be<br />
1’s, become 0’s and vice versa. It is neccessary to ensure that the probability <strong>of</strong><br />
correct information reaching the destination, is large. It is therefore neccessary<br />
to be able to derive with much confidence whether the information has been received<br />
correctly or not. If the information has been received incorrectly, it must<br />
be possible to obtain the correct information. There are two ways to approach<br />
the problem in order to achieve the above goals:<br />
Parity will detect all errors where an odd number <strong>of</strong> bits are involved (in a<br />
character). If an even number <strong>of</strong> bits are involved, the error will not be detected.<br />
4.1.3 Block sum test<br />
1. Forwards error control. This is where a sufficient amount <strong>of</strong> additional<br />
or redundand information is sent together with every character or frame<br />
to enable the receiver to test whether the information had been received<br />
correctly or not, as well as to determine the original information from<br />
that which was received, should the information not be received correctly.<br />
This method is not used very generally because too much redundant information<br />
has to be sent together with a frame in order to guarantee the<br />
neccessary level <strong>of</strong> error correction.<br />
When infromation is sent in frames, the use <strong>of</strong> a single parity bit can be extended<br />
to the use <strong>of</strong> an additional set <strong>of</strong> parity bits, the so-called block sum test (BST),<br />
which is calculated over the entire frame’s characters. In this method a parity<br />
bit is still calculated for every individual character. But then for every bit<br />
position another parity bit is calculated. I.e. for all the most significant bits a<br />
parity bit is calculated, and similarly for the second most significant bits, etc.<br />
up to the least significant bits and parity bits.<br />
2. Feed-back error control, also called error detection by repeat transmission.<br />
This method is more generally known as ARQ (automatic repeat request).<br />
In ARQ the minimum additional information is sent together with every<br />
character or frame to enable the receiver to decide whether the received<br />
information is correct or not. It is then the responsibility <strong>of</strong> the receiver to<br />
request the correct information from the sender. This way <strong>of</strong> error control<br />
73
76 BYLAAG 4. DIE DATAVERBINDINGSLAAG<br />
Karakter Bis 6 Bis 5 Bis 4 Bis 3 Bis 2 Bis 1 Bis 0 Pariteitbis<br />
I 1 0 0 1 0 0 1 1<br />
N 1 0 0 1 1 1 0 0<br />
L 1 0 |0| 1 1 0 |0| 1<br />
I 1 0 0 1 0 0 1 1<br />
G 1 0 0 0 1 1 1 0<br />
T 1 0 1 0 1 0 0 1<br />
I 1 0 0 1 0 0 1 1<br />
N 1 0 |0| 1 1 1 |0| 0<br />
G 1 0 0 0 1 1 1 0<br />
BST 0 1 0 1 1 1 0 0<br />
Bylaag 4<br />
Figure 4.1: Voorbeeld van ’n bloksomtoets. Ewe pariteit is vir die rye gebruik<br />
en onewe pariteit vir die kolomme. Indien die vier gemerkte bisse geïnverteer<br />
word sal die fout nie waargeneem word nie.<br />
Die Dataverbindingslaag:<br />
Voorbeelde en analise van<br />
protokolle<br />
in meer detail kyk na protokolle wat van hierdie foutbeheer meganisme<br />
gebruik maak.<br />
Daar sal nou slegs gekyk word na metodes wat gebruik kan word om vas te stel<br />
<strong>of</strong> die inligting wat ontvang is korrek ontvang is al dan nie. Daar sal later gekyk<br />
word na metodes om inligting weer aan te vra indien dit nie korrek ontvang is<br />
nie.<br />
4.1 Foutwaarneming<br />
4.1.1 Foute kom voor!<br />
4.1.2 Pariteit<br />
Pariteit is een van die die eenvoudigste en mees algemene metodes om foutwaarneming<br />
te doen. Pariteit word gebruik waar klein hoeveelhede inligting<br />
bisse ter sprake is en daar ’n klein waarskynlikheid is dat ’n fout kan voorkom.<br />
’n Enkele bis, die pariteitbis, word by elke inligting element <strong>of</strong> karakter gevoeg.<br />
Die pariteitbis se waarde word so gekies dat daar ’n ewe aantal 1 bisse in die<br />
karakter plus pariteitbis voorkom in die geval van ewe pariteit. Indien onewe<br />
pariteit gebruik word moet daar ’n onewe aantal bisse met die waarde 1 wees.<br />
Die ontvanger tel dan bloot die aantal 1 bisse in elke karakter, indien daar ’n<br />
ewe (onewe) aantal is, is die karakter korrek ontvang. Die sender en ontvanger<br />
moet egter vooraf ooreenkom watter pariteit gebruik gaan word.<br />
Wanneer inligting deur middel van elektromagnetiese golwe van een punt na ’n<br />
ander gestuur word kan dit gebeur dat distorsie van die inligting plaasvind as<br />
gevolg van elektromagnetiese steurings. Die gevolg is dan dat bisse waarvan<br />
die waardes 1’e moes wees nou 0’e is en anders om. Dit is egter wenslik om<br />
te verseker dat die waarskynlikheid dat inligting die bestemming korrek bereik<br />
groot is. Dit is dus nodig om met ’n groot mate van vertroue te kan aflei <strong>of</strong><br />
inligting korrek ontvang is al dan nie. Indien inligting foutief ontvang is moet dit<br />
ook moontlik wees om die korrekte inligting te verkry. Daar is twee benaderings<br />
wat gevolg kan word om bogenoemde doel te bereik:<br />
Pariteit sal alle foute waar ’n onewe aantal bisse (in ’n karakter) by betrokke is<br />
uitvang. Indien ’n ewe aantal bisse betrokke is sal die fout nie uitgevang word<br />
nie.<br />
1. Voorwaartse foutbeheer. Hier word genoeg addisionele <strong>of</strong> oortollige inligting<br />
saam met elke karakter <strong>of</strong> raam gestuur om die ontvanger in staat te<br />
stel om te toets <strong>of</strong> die inligting korrek ontvang is al dan nie asook om die<br />
oorspronklike inligting, uit dit wat ontvang is, af te lei indien die inligting<br />
nie korrek ontvang is nie. Hierdie metode word nie oor die algemeen gebruik<br />
nie aangesien daar te veel oortollige inligting met ’n raam gestuur<br />
moet word om die verlangde vlak van fout herstel te kan waarborg.<br />
4.1.3 Bloksomtoets<br />
Wanneer inligting in rame gestuur word kan die gebruik van ’n enkele pariteitbis<br />
uitgebrei word na die gebruik van ’n addisionele stel pariteitbisse, die bloksomtoets<br />
(BST), wat oor die hele raam se karakters bereken word. Met hierdie<br />
metode word daar nog steeds ’n pariteitbis vir elke individuele karakter bereken.<br />
Daar word verder vir elke bis posisie nog ’n pariteitbis bereken. Dit wil sê daar<br />
2. Terugvoer foutbeheer <strong>of</strong> ook foutwaarneming met hertransmissie. Hierdie<br />
metode staan algemeen bekend as ARQ (automatic repeat request) bekend.<br />
Met ARQ word slegs genoeg addisionele inligting met elke karakter <strong>of</strong> raam<br />
gestuur om die ontvanger in staat te stel om te besluit <strong>of</strong> dit wat ontvang<br />
is korrek is al dan nie. Die ontvanger is dan daarvoor verantwoordelik om<br />
die korrekte inligting van die sender aan te vra. Hierdie is die foutbeheer<br />
metode wat algemeen gebruik word. Ons sal in die opvolgende paragrawe<br />
<br />
75
76 ADDENDUM 4. THE DATA LINK LAYER<br />
4.1. ERROR DETECTION 75<br />
<br />
The process may also be considered as follows (Figure 4.1): The binary values<br />
<strong>of</strong> the characters in the frame that has to be sent, are written below each other.<br />
Each row contains a character while the most significant bit <strong>of</strong> every character<br />
appears in the left hand column, and so forth up to the least significant bits,<br />
which appear in the right hand column. A parity bit is then calculated for every<br />
character or row. This bit is known as the row-parity bit. Then a parity bit,<br />
the column parity bit, is calculated for every column.<br />
<br />
If a two-bit error occurs in a row, it will not be detected by the row-parity bits.<br />
Such an error, however, will be detected by the column bits <strong>of</strong> the particular<br />
columns (except if a two bit error occurs in the columns as well). Such a situation<br />
is illustrated in Figure 4.1. If the four marked bits are received incorrectly, so<br />
that there are two columns and two rows sharing the two-bit errors, the errors<br />
will not be detected.<br />
1 1 0 0 0 0 1 0 1 0<br />
1 0 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 0<br />
1 0 0 1 1<br />
1 0 0 1 1<br />
1 0 0 1 1<br />
0 0 0 0 1<br />
0 0 0 0 0<br />
0 0 0 1 0<br />
0 0 0 0 0<br />
0 0 1 0 1<br />
0 0 0 0 0<br />
0 1 0 1 1<br />
0 0 0 0 0<br />
1 0 1 1 0<br />
1 0 0 1 1<br />
0 1 0 1 0<br />
0 0 0 0 0<br />
1 0 1 0 0<br />
1 0 0 1 1<br />
0 1 1 1 0<br />
0 0 0 0 0<br />
1 1 1 0<br />
The probability that an error will be detected, is nevertheless improved by the<br />
block sum test.<br />
4.1.4 Cyclic redundant test<br />
The most general type <strong>of</strong> error occuring in information transmitted by electromagnetic<br />
waves, is an error burst. In this kind <strong>of</strong> error a series <strong>of</strong> consecutive<br />
bits are distorted. Such an error burst starts and ends with a bit that is incorrect.<br />
The bits in between need not neccessarily be incorrect also. The length<br />
<strong>of</strong> an error burst is defined by the number <strong>of</strong> bits between the two faulty bits,<br />
including the faulty bits. When the length <strong>of</strong> an error burst is calculated, the<br />
burst has to be followed by a series <strong>of</strong> correct bits which is as long or longer<br />
than the error burst.<br />
It was found that both the parity and block sum tests are not effective for the<br />
detection <strong>of</strong> error bursts. The alternative method used to detect the occurence<br />
<strong>of</strong> error bursts is based on the use <strong>of</strong> polynomial codes.<br />
Figure 4.2: Calculation <strong>of</strong> a CRT. The message to be sent is 1101011011, the generator<br />
polynomial is 10011 and the message multiplied by 24 is 11010110110000.<br />
The message plus CRT which is sent is 11010110111110.<br />
By means <strong>of</strong> polynomial codes a series <strong>of</strong> bits are considered as a polynomial <strong>of</strong><br />
which the coefficients can be only 0 or 1. Therefore a k-bit frame is considered<br />
to be a polynomial with k terms ranging from xk−1 to x0 . The most significant<br />
bit in the frame is the coefficient <strong>of</strong> the term xk−1 , the second most significant<br />
bit is the coefficient <strong>of</strong> the term xk−2 etc. until the least significant bit, which<br />
is the coefficient <strong>of</strong> the term x0 . The series <strong>of</strong> bits 10011 therefore represents a<br />
4th order, 5 term, polynomial. The polynomial is therefore 1∗x 4 + 0∗x 3 + 0∗<br />
x2 +1∗x 1 +1∗x 0 . Normally terms with zero coefficients are omitted. Therefore<br />
we can also write the polynomial as x4 + x1 + 1.<br />
For every frame that is sent a number <strong>of</strong> test bits are calculated and added to<br />
the back <strong>of</strong> the frame. The receiver <strong>of</strong> the frame then does a calculation which<br />
includes the entire frame, with its test bits. If no errors are present, a known<br />
value is always obtained. If this known value is not obtained, it means that<br />
an error has occurred. However, even if the known value has been obtained,<br />
there still is a small chance that an error has occurred. The number <strong>of</strong> test bits<br />
calculated per frame, is adapted to the worst case <strong>of</strong> error that can be expected.<br />
The most common is 16 and 32 bits. These test bits are known as a cyclic<br />
redundancy test (CRT).
78 BYLAAG 4. DIE DATAVERBINDINGSLAAG<br />
4.1. FOUTWAARNEMING 77<br />
word vir al die mees beduidende bisse ’n pariteitbis bereken, net so vir die<br />
tweede mees beduidende bisse en so aan tot vir die mins beduidende bisse en<br />
pariteitbisse.<br />
Die proses kan ook soos volg beskou word (figuur 4.1): Die binêre waardes<br />
van die karakters in die raam wat gestuur moet word, word eers onder mekaar<br />
geskryf. Elke ry bevat dan ’n karakter terwyl elke karakter se mees beduidende<br />
bis in die linker kolom voorkom en so aan tot die mins beduidende bisse in<br />
die regter kolom. Daar word dan ’n pariteitbis vir elke karakter <strong>of</strong> ry bereken.<br />
Hierdie bis staan as die ry-pariteitbis bekend. Daarna word daar vir elke kolom<br />
’n pariteitbis, die kolom-pariteitbis, bereken.<br />
1 1 0 0 0 0 1 0 1 0<br />
1 0 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 0<br />
1 0 0 1 1<br />
1 0 0 1 1<br />
1 0 0 1 1<br />
0 0 0 0 1<br />
0 0 0 0 0<br />
0 0 0 1 0<br />
0 0 0 0 0<br />
0 0 1 0 1<br />
0 0 0 0 0<br />
0 1 0 1 1<br />
0 0 0 0 0<br />
1 0 1 1 0<br />
1 0 0 1 1<br />
0 1 0 1 0<br />
0 0 0 0 0<br />
1 0 1 0 0<br />
1 0 0 1 1<br />
0 1 1 1 0<br />
0 0 0 0 0<br />
1 1 1 0<br />
Indien daar ’n tweebis-fout in ’n ry voorkom sal dit nie deur die ry-pariteitbis<br />
waargeneem word nie. So ’n fout sal wel deur die twee betrokke kolomme se<br />
kolom-pariteitbisse waargeneem word, tensy daar in elke kolom ook ’n tweebisfout<br />
voorkom. So ’n situasie word in figuur 4.1 getoon. Indien die vier gemerkte<br />
bisse foutief ontvang word, daar is dus twee kolomme en twee rye wat tweebisfoute<br />
deel, sal die fout nie waargeneem word nie.<br />
Die waarskynlikheid dat ’n fout uitgevang sal word, word met die gebruik van<br />
die bloksomtoets verhoog.<br />
4.1.4 Sikliese oortolligheidstoets<br />
Die mees algemene tipe fout wat voorkom in inligting wat deur middel van<br />
elektromagnetiese golwe gestuur word is ’n foutsarsie. Met hierdie tipe fout<br />
is daar dan ’n string opeenvolgende bisse wat vervorm word. So ’n foutsarsie<br />
begin en eindig met ’n bis wat foutief is, die bisse wat tussenin voorkom hoef<br />
nie noodwendig foutief te wees nie. Die lengte van ’n foutsarsie word gedefineer<br />
deur die aantal bisse tussen twee foutiewe bisse, die foutiewe bisse ingesluit.<br />
Wanneer die lengte van ’n foutsarsie bereken word moet die foutsarsie gevolg<br />
word deur ’n string korrekte bisse wat net so lank <strong>of</strong> langer is as die foutsarsie.<br />
Daar is gevind dat beide pariteit en bloksomtoetse nie effektief is in die opspoor<br />
van foutsarsies nie. Die alternatief wat gebruik word om die voorkoms van<br />
foutsarsies waar te neem is gebaseer op die gebruik van polinomiale kodes.<br />
Figure 4.2: Berekening van ’n SOT. Die boodskap wat gestuur moet word<br />
is 1101011011, die generator polinoom is 10011 en die boodskap met 24 verminigvuldig<br />
is 11010110110000. Die boodskap plus SOT wat gestuur word is<br />
11010110111110.<br />
Met polinomiale kodes word ’n string bisse beskou as ’n polinoom waarvan die<br />
koëffisiënte slegs 0 <strong>of</strong> 1 kan wees. Dus sal ’n k-bis raam beskou word as ’n<br />
polinoom met k terme wat strek van xk−1 tot x0 . Die mees beduidende bis in<br />
die raam is die koëffisiënt van die term xk−1 , die tweede mees beduidende bis<br />
van die term xk−2 en so aan tot die mins beduidende bis wat die koëffisiënt van<br />
die term x0 is. Die string bisse 10011 stel dus ’n 4’e orde, 5 term, polinoom<br />
voor. Die polinoom is dus 1∗x 4 + 0∗x 3 + 0∗x 2 + 1∗x 1 + 1∗x 0 . Normaalweg<br />
word die terme met nul koëffisiënte weggelaat. Dus kan ons die polinoom ook<br />
skryf as x4 + x1 + 1.<br />
Daar word vir elke raam wat gestuur word ’n enkele groep toetsbisse bereken en<br />
agteraan die raam gelas. Die ontvanger van die raam doen dan ’n berekening<br />
wat die hele raam, toetsbisse ingesluit, dek. Indien geen foute voorkom word ’n<br />
bekende waarde altyd verkry. Indien hierdie bekende waarde nie verkry word nie<br />
dui dit daarop dat ’n fout voorgekom het. Indien die bekende waarde wel verkry<br />
word is daar egter tog nog steeds ’n klein kans dat ’n fout wel voorkom. Die
78 ADDENDUM 4. THE DATA LINK LAYER<br />
4.2. BASIC ARQ PROTOCOLS 77<br />
<br />
the packets and the correct receipt <strong>of</strong> packets must be acknowledged, to ensure<br />
the error free receipt. The packets also have to be numbered to ensure<br />
that they are transfered in the correct sequence to the network layer <strong>of</strong> the receiver.<br />
In order to be able to handle these functions, the data link layer adds<br />
its PBI to the packet, thereby producing a frame. The PBI consists inter alia<br />
<strong>of</strong> synchronisation fields, control fields containing sequence numbers and abba<br />
recognitions, error detection fields and other fields which we shall discuss later<br />
when we discuss HDLC.<br />
A brief summary <strong>of</strong> the method is as follows: Modulo-2 arithmetic is used in all<br />
the calculations. Addition and subtraction is therefore identical to the exclusive<br />
or. Also long division is the same as ordinary binary division except that the<br />
subtraction is replaced by the exclusive or. In modulo-2 division we say that<br />
the divisor goes into the divident when the divident and the divisor have an<br />
equal number <strong>of</strong> bits (and the most significant bits <strong>of</strong> both are 1’s).<br />
<br />
The sender and the receiver must decide in advance on a generator polynomial,<br />
say G(x), that will be used. Both the most and least significant bits <strong>of</strong> G(x)<br />
have to be 1’s. Let G(x) be r + 1 bits long. Let also the message to be sent,<br />
B(x), be longer than G(x).<br />
Several variations <strong>of</strong> ARQ are possible. Every frame that is received may be<br />
acknowledged individually by means <strong>of</strong> special acknowledgement frames (ACK),<br />
or the acknowledgement may be ”piggy-backed” by a data frame, or it is possible<br />
to make use <strong>of</strong> negative acknowledgements (NAC) if frames are received<br />
incorrectly or not in the correct sequence. Each frame sent has to be stored<br />
at the sender in a buffer. When an ACK is received for that frame, it may be<br />
removed from the buffer. However, a time elapsed mechanism has also to be<br />
provided at the sender to ensure that it does not wait indefinitely for an ACK<br />
which may have gone missing. In this case, as well as when a NAC is recieved,<br />
the particular frame has to be sent again. For the handling <strong>of</strong> ACK’s and NAC’s<br />
there are several possibilities:<br />
1. Multiply B(x) by 2r . Effectively this means that r bits, all <strong>of</strong> them 0’s,<br />
are added to the end <strong>of</strong> B(x).<br />
2. Divide B(x) ∗ 2 r by G(x). Modulo-2 division has to be used.<br />
3. Subtract the result, R(x), which was obtained by the division, from B(x)∗<br />
2r . (Modulo-2 subtraction). Let this result be called T(x).<br />
4. Send T(x) to the receiver.<br />
1. Stop-and-wait: The sender sends only one frame and then waits until it<br />
receives a ACK/NAC for that frame. If an ACK is received, it sends the<br />
next frame. Otherwise, if the time limit is exceeded or if a NAC is received,<br />
the same frame is sent again. In Stop-and-wait it is thus only necessary<br />
to have a buffer for a single frame at the sender. There is also no problem<br />
getting the frames in the right sequence at the receiver. Should the<br />
receiver receive a frame out <strong>of</strong> the correct sequence, because a frame (or<br />
more than one frame) went missing, it simply ignores it and sends a NAC<br />
for the frame it needs. This protocol is especially useful for half-duplex<br />
communication, where the two nodes take turns to send. The protocol<br />
however, has too low a throughput in the case <strong>of</strong> full duplex communication,<br />
especially when the propagation delay exceeds the transmission<br />
delay. But, if the point-to-point link is short, the throughput <strong>of</strong> this protocol<br />
may still be acceptable. In the next paragraph we shall look more<br />
closely at the quantitative analysis <strong>of</strong> the Stop-and-wait protocol.<br />
5. The receiver divides (modulo-2) T(x) by G(x). If the result that is now<br />
obtained is 0, the message was received correctly. If a non-zero result is<br />
obtained the message is incorrect.<br />
Suppose the frame B(x)=1101011011 has to be sent and the generator polynomial<br />
is G(x)=x4 + x1 + 1=10011 (Figure 4.2). The value <strong>of</strong> r is therefore 4, i.e.<br />
the polynomial is r + 1 bits long. The frame is first multiplied by 24 to yield<br />
B(x) ∗ 24 =11010110110000. After B(x) ∗ 24 has been divided by G(x) a result<br />
R(x)=1110 is obtained. R(x) is subtracted modulo-2 from B(x) ∗ 24 to yield<br />
T(x)=11010110111110.<br />
There are several generator polynomials that are considered as standards, eg.:<br />
• CRC-12 = x 12 + x 11 + x 3 + x 2 + x 1 + 1 = 1100000001111<br />
• CRC-16 = x 16 + x 15 + x 2 + 1 = 11000000000000101<br />
2. Go-back-N, or continuous transmission: In this protocol the sender continues<br />
to send frames without waiting for an ACK. Each frame is kept<br />
in a buffer at the sender until a ACK is received for that frame. When<br />
the ACK is received, that frame may be removed from the buffer, and the<br />
buffer can be used for the next frame. Should however, a NAC be received<br />
for a frame, or if the time limit for that frame is exceeded, that frame as<br />
well as all the frames following it are sent again. The sender therefore<br />
requires a sufficient number <strong>of</strong> buffers to store all the frames for which<br />
the ACK’s are still outstanding. Then also the sender has to have a clock<br />
mechanism whereby the waiting time for the ACK can be recorded for<br />
each <strong>of</strong> the frames. On the receiver end, error tests have to be performed<br />
to see if every frame is error-free and in the correct sequence. If it is not,<br />
a NAC should be sent to indicate which frame is expected. When a frame<br />
has been received error-free and in the correct sequence, it is transferred<br />
• CRC-CCITT = x 16 + x 12 + x 5 + 1 = 10001000000100001<br />
CRC-16 and CRC-CCITT will detect all single bit errors, all errors involving an<br />
odd number <strong>of</strong> bits and all error bursts shorter than 16 bits. It will also detect<br />
more than 99.99% <strong>of</strong> error bursts <strong>of</strong> 17 bits or more.<br />
4.2 Basic ARQ protocols<br />
Communication between nodes in a network is usually synchrone. Consequently<br />
it is neccessary that individual packets should contain synchronisation information<br />
in order to achieve bit synchronisation between sender and receiver. A<br />
further requirement is that it must be possible to determine the correctness <strong>of</strong>
80 BYLAAG 4. DIE DATAVERBINDINGSLAAG<br />
4.2. BASIESE ARQ PROTOKOLLE 79<br />
sinkronisasie tussen sender en ontvanger te bewerkstellig. Verder moet die korrektheid<br />
van pakkette vasgestel kan word en moet die erkenning van pakkette<br />
wat korrek ontvang is gedoen kan word om die foutlose ontvangs daarvan te<br />
waarborg. Dit is ook nodig dat pakkette genommer word om te verseker dat<br />
hulle in die korrekte volgorde aan die ontvanger se netwerklaag oorgedra word.<br />
Om hierdie funksies te kan hanteer voeg die dataverbindingslaag sy PBI by<br />
die pakket om sodoende ’n raam te vorm. Die BPI bestaan onder andere uit<br />
sinkronisasie velde, beheer velde wat volgorde nommers en abba erkennings bevat,<br />
foutwaarneming velde en nog ander velde wat met HDLC se bespreking<br />
beskryf sal word.<br />
aantal toetsbisse wat per raam bereken word, word aangepas by die ergste geval<br />
fout wat verwag word. Die algemeenste is 16 en 32 bisse. Hierdie toetsbisse<br />
staan as ’n sikliese oortolligheidstoets (SOT) bekend.<br />
Die metode kan kortliks soos volg opgesom word: Modulo-2 rekenkunde word<br />
gebruik in al die berekenings, optel en aftrekking is dus identies aan eksklusiewe<br />
<strong>of</strong>. Verder is lang deling dieselfde as gewone binêre deling behalwe dat die<br />
aftrekking deur eksklusiewe <strong>of</strong> vervang kan word. Met modulo-2 deling sê ons<br />
dat die deler in die deeltal “ingaan” indien die deeltal en deler eweveel bisse het<br />
(en die mees beduidende bisse van altwee 1’e is).<br />
Verskei variasies van ARQ is moontlik, elke raam wat korrek ontvang is kan individueel<br />
erken word met spesiale erkennings (ERK) rame, die erkenning kan deur<br />
’n dataraam “ge-abba” word, dit is ook moontlik om van negatiewe erkennings<br />
(NEK) gebruik te maak indien rame foutief <strong>of</strong> uit volgorde ontvang word. Elke<br />
raam wat gestuur word moet by die sender in ’n buffer gestoor word. Sodra ’n<br />
ERK vir ’n raam ontvang word kan daardie raam uit die buffer verwyder word.<br />
Daar moet egter by die sender ook ’n tydverstreke meganisme ingebou word om<br />
te verseker dat hy nie onbeperk wag vir ’n ERK wat self weg geraak het nie.<br />
In hierdie geval asook wanneer ’n NEK ontvang word moet die betrokke raam<br />
weer oor gestuur word. Wat die hantering van ERK’e en NEK’e betref is daar<br />
ook verskillende moontlikhede:<br />
Die sender en ontvanger moet vooraf besluit op die generator polinoom, sê G(x),<br />
wat gebruik gaan word. Beide die mees en mins beduidende bisse van G(x) moet<br />
1’e wees. Laat G(x) r + 1 bisse lank wees. Laat verder B(x), die boodskap wat<br />
gestuur moet word, langer wees as G(x).<br />
1. Vermenigvuldig B(x) met 2r . Daar word dus effektief r bisse, almal 0’e,<br />
agter aan B(x) gevoeg.<br />
2. Deel B(x) ∗ 2 r deur G(x), modulo-2 deling moet gebruik word.<br />
3. Trek die res, R(x), wat met die deling verkry is van B(x)∗2r af. (Modulo-2<br />
aftrekking.) Noem die resultaat T(x).<br />
4. Stuur T(x) aan die ontvanger.<br />
1. Stop-en-Wag: Die sender stuur slegs een raam en wag dan totdat hy ’n<br />
ERK/NEK vir daardie raam ontvang. Indien hy ’n ERK ontvang stuur<br />
hy die volgende raam. Anders, indien ’n tydverstreke plaasvind <strong>of</strong> hy ’n<br />
NEK ontvang stuur hy die raam oor. Met Stop-en-Wag is dit dus slegs<br />
nodig om ’n buffer vir ’n enkele raam by die sender te hê. Verder is daar<br />
ook geen probleem om die rame in volgorde te kry by die ontvanger nie.<br />
Indien die ontvanger ’n raam buite volgorde kry omdat ’n raam (<strong>of</strong> meer<br />
as een raam) weggeraak het, ignoreer hy dit bloot en stuur ’n NEK vir die<br />
raam waarvoor hy wag. Hierdie protokol is veral geskik vir half-dupleks<br />
kommunikasie waar die twee nodes om die beurt stuur. Die protokol het<br />
egter ’n onnodig lae deurvoer in die geval van vol-dupleks kommunikasie,<br />
veral as die voortplanting vertraging groter as die transmissie vertraging<br />
is. Indien die punt-tot-punt verbinding egter kort is, is die deurvoer van<br />
die protokol nog aanvaarbaar. Daar sal in die volgende paragraaf aandag<br />
gegee word aan die kwantitatiewe analise van die Stop-en-Wag protokol.<br />
5. Die ontvanger deel (modulo-2) T(x) deur G(x). Indien die res wat nou<br />
verkry word 0 is, is die boodskap korrek ontvang. Indien ’n nie-nul res<br />
verkry word is daar fout met die boodskap.<br />
Gestel die raam B(x)=1101011011 moet gestuur word en die generator polinoom<br />
is G(x)=x4 + x1 + 1=10011 (figuur 4.2). Die waarde van r is dus 4, maw die<br />
polinoom is r + 1 bisse lank. Die raam word dus eers met 24 vermenigvuldig<br />
om B(x) ∗ 24 =11010110110000 te lewer. Nadat B(x) ∗ 24 deur G(x) gedeel is<br />
word ’n res R(x)=1110 verkry. R(x) word modulo-2 van B(x) ∗ 24 afgetrek om<br />
T(x)=11010110111110 te lewer.<br />
Daar is verskeie generator polinome wat as standaarde beskou word, bv.:<br />
• CRC-12 = x 12 + x 11 + x 3 + x 2 + x 1 + 1 = 1100000001111<br />
• CRC-16 = x 16 + x 15 + x 2 + 1 = 11000000000000101<br />
2. Gaan-N-Terug <strong>of</strong> kontinue transmissie: Met hierdie protokol stuur die<br />
sender aanhoudend rame sonder om te wag vir ’n ERK. Elke raam word<br />
in ’n buffer by die sender gehou totdat ’n ERK vir die raam ontvang is.<br />
Met die ontvangs van ’n ERK vir ’n raam kan die raam verwyder word en<br />
die buffer vir ’n volgende raam gebruik word. Indien ’n NEK vir ’n raam<br />
ontvang word, <strong>of</strong> tydverstreke vir die raam plaasvind word daardie raam<br />
en al die rame wat daarop volg weer gestuur. Die sender moet dus genoeg<br />
buffers hê om al die rame waarvoor nog vir ERK’e gewag word in te stoor.<br />
Verder moet die sender oor ’n tydhou meganisme beskik waarmee vir elke<br />
raam tyd gehou kan word van hoe lank vir ’n ERK gewag word. Aan die<br />
ontvanger se kant moet daar weer getoets word <strong>of</strong> ’n raam foutloos is en<br />
<strong>of</strong> dit in volgorde is. Indien nie moet ’n NEK gestuur word om aan te dui<br />
• CRC-CCITT = x 16 + x 12 + x 5 + 1 = 10001000000100001<br />
CRC-16 en CRC-CCITT sal alle enkel-bis en dubbel-bis foute, alle foute waar<br />
’n onewe aantal bisse betrokke is en alle foutsarsies korter as 16 bisse uitvang.<br />
Verder sal meer as 99.99% foutsarsies wat 17 bisse en langer is uitgevang word.<br />
4.2 Basiese ARQ protokolle<br />
<br />
Kommunikasie tussen nodes in ’n netwerk is gewoonlik asinkroon gevolglik is<br />
daar nodigheid dat individuele pakkette sinkronisasie inligting bevat om bis
4.3. ANALYSIS OF THE STOP-AND-WAIT PROTOCOL 79<br />
<br />
to the network layer <strong>of</strong> the receiver. It is obvious that the throughput <strong>of</strong><br />
this protocol, because <strong>of</strong> its pipe-line operation, will be superior to that<br />
<strong>of</strong> the Stop-and-wait protocol.<br />
<br />
Addendum 5<br />
3. Selective repeat or selective reject: This protocol is basically the same<br />
as the Go-back-N, except that only the frame that was received incorrectly<br />
will be NAC’ed and will be sent again. In this case the receiver<br />
should possess over a sufficiently large buffer to store the frames that have<br />
been received out <strong>of</strong> the right sequence, to first sort them before passing<br />
them on to the network layer in the correct sequence. This protocol has<br />
lately become more attractive, because <strong>of</strong> the improvements in memory<br />
technology and the accompanying drop in prices.<br />
Network layer: Route<br />
control capability<br />
5.1 Introduction<br />
The purpose <strong>of</strong> the network layer is to transfer packets from their source on<br />
one end <strong>of</strong> the communication subnet, to their destination on the other end <strong>of</strong><br />
the subnet. The network layer makes use <strong>of</strong> the services <strong>of</strong> the data link layer,<br />
to transfer frames over the various physical links ranging from the source to<br />
the destination. The path from source to destination may pass a number <strong>of</strong><br />
nodes. Because the data link layer is concerned only with the transfer <strong>of</strong> frames<br />
from one point <strong>of</strong> a link to the next, it differs from the network layer. The<br />
result is that the network layer is the lowest layer <strong>of</strong> the OSI model handling<br />
endpoint-to-endpoint traffic.<br />
To achieve its purpose, the network layer has to know the topology <strong>of</strong> the<br />
communication subnet so that routes may be chosen through the subnet. The<br />
network layer has to choose the routes in such a way that no links will be<br />
overloaded while other links are standing idle. If the source and the destination<br />
are in different networks, it is the task <strong>of</strong> the network layer to span the differences<br />
between the networks.<br />
The network layer provides four services to the transport layer above it, i.e.:<br />
1. Routing <strong>of</strong> packets through the subnet.<br />
2. Congestion control.<br />
3. Flow control.<br />
4. Interlinking <strong>of</strong> different networks (internetworking).<br />
5.1.1 Routing<br />
In most subnets it is neccessary that packets should ”jump” a few times from<br />
node to node. The exceptions are the so-called broadcasting networks, like<br />
103
4.3. ANALISE VAN DIE STOP-EN-WAG PROTOKOL. 81<br />
watter raam verwag word. Sodra ’n raam foutloos en in volgorde ontvang<br />
is kan dit deurgegee word aan die netwerklaag van die ontvanger. Dit is<br />
duidelik dat die deurvoer van hierdie protokol as gevolg van sy pyplyn<br />
werking beter as die van die Stop-en-Wag protokol is.<br />
Bylaag 5<br />
Netwerklaag:<br />
Roetebeheerfunksie<br />
3. Selektiewe Herhaal <strong>of</strong> Selektiewe Verwerp: Hierdie protokol werk basies<br />
dieselfde as Gaan-N-Terug behalwe dat slegs die raam wat foutief ontvang<br />
word ge-NEK word en oor gestuur word. Dit is dus hier nodig dat die<br />
ontvanger oor ’n groot genoeg buffer beskik om rame wat uit volgorde<br />
is in te stoor sodat hulle eers gesorteer kan word voordat hulle dan in<br />
volgorde aan die netwerklaag deurgegee word. Met die verbetering in<br />
geheue tegnologie en die gepaardgaande daling in geheue pryse raak hierdie<br />
protokol al hoe meer aantreklik.<br />
5.1 Inleiding<br />
Die netwerklaag se doel is om pakkette vanaf hulle oorsprong aan een kant van<br />
die kommunikasie subnet tot by hulle eindbestemming aan die anderkant van<br />
die subnet te kry. Die netwerklaag maak van die dienste van die dataverbindingslaag<br />
gebruik vir die oordra van rame oor die verskillende fisiese vebindings<br />
wat vanaf oorsprong tot eindbestemming strek. Die pad vanaf oorsprong tot<br />
bestemming kan oor ’n hele aantal nodes strek. Daar is dus onmiddellik ’n<br />
onderskeid wat met die dataverbindingslaag getref kan word aangsien laasgenoemde<br />
slegs gemoeid is met die oordra van rame van een punt van ’n verbinding<br />
na die ander. Ons het dus dat die netwerklaag die laagste laag in die OSI<br />
model is wat eindpunt-tot-eindpunt verkeer hanteer.<br />
Om in sy doel te kan slaag is dit dus nodig dat die netwerklaag oor kennis van<br />
die topologie van die kommunikasie subnet beskik sodat roetes deur die subnet<br />
gekies kan word. Die netwerklaag moet ook roetes so kies dat geen verbindings<br />
oorlaai word nie terwyl ander verbindings niks het om te doen nie. Indien die<br />
oorsprong en eindbestemming in verskillende netwerke geleë is, is dit ook die<br />
netwerklaag se taak om die verskille tussen die netwerke te oorkom.<br />
Die netwerklaag lewer vier dienste aan die transportlaag bokant hom, nl.:<br />
1. Roetering van pakkette deur die subnet.<br />
2. Kongestie beheer.<br />
3. Vloei beheer.<br />
<br />
4. Tussenverbinding van verskillende netwerke (internetworking).<br />
105
5.1. INTRODUCTION 105<br />
104 ADDENDUM 5. NETWORK LAYER<br />
5.1.2 Congestion and flow control<br />
<br />
CSMA/CD networks and satellite/radio networks like the ALOHA system. But<br />
even in these cases it is still neccessary that routing should be done if the source<br />
and the destination are on different networks.<br />
<br />
When too many packets are in a section <strong>of</strong> the subnet, the functioning may deteriorate.<br />
This situation is known as congestion. Under normal circumstances,<br />
the number <strong>of</strong> packets delivered by the subnet, is proportional to the number<br />
<strong>of</strong> packets introduced into the subnet, provided that the number <strong>of</strong> packets imported<br />
are within its capacity. Except for the few packets that pick up errors<br />
along the way and that have to be sent again, all packets that are imported are<br />
delivered. However, when the packets imported exceed the capacity <strong>of</strong> the network,<br />
the intermediary nodes will not be able to handle the number <strong>of</strong> packets,<br />
so that they will start losing packets. Should the number <strong>of</strong> packets be further<br />
increased, the functioning <strong>of</strong> the subnet will deteriorate further up to the point<br />
that almost no packets will be delivered.<br />
At every node, therefore, use is made <strong>of</strong> some algorithm to decide on which<br />
outgoing link a package that was received should be sent <strong>of</strong>f. If the network<br />
makes use <strong>of</strong> datagrams, the choice is made for every packet that is received.<br />
However, if the network makes use <strong>of</strong> virtual rings, the choice is made only once<br />
during the set-up <strong>of</strong> the virtual ring. All packets to be sent over the virtual<br />
ring, will then be sent via the same outgoing link.<br />
Irrespective <strong>of</strong> whether the type <strong>of</strong> network is a datagram or virtual ring, there<br />
are still a number <strong>of</strong> properties that are desirable in the routing algorithm. Some<br />
<strong>of</strong> these properties are correctness, simplicity, robustsness, stability, fairness and<br />
optimality.<br />
One <strong>of</strong> the reasons why congestion occurs, is because the intermediary nodes are<br />
too slow in doing the neccessary bookkeeping about the filling and emptying <strong>of</strong><br />
the buffers, the updating <strong>of</strong> tables, etc. Another reason is that the traffic exceeds<br />
the capacity <strong>of</strong> the subnet. In both cases queues <strong>of</strong> packets will build up at the<br />
nodes <strong>of</strong> the subnet, flooding the buffers. When all the buffers <strong>of</strong> a node are full,<br />
the node cannot receive any more packets and all new packets arriving have to<br />
be ”discarded”. Each node which had sent a packet which had been discarded,<br />
will record a timeout on that packet and will send it again. The sender node also<br />
cannot get rid <strong>of</strong> the packet before it had been acknowledged, so that its own<br />
buffer is also kept occupied. The result is that the sending node will also get to<br />
the stage when it has no more space in its buffers. In this way a congestion will<br />
cause a build-up effect which will wash back to the source <strong>of</strong> the packets.<br />
The essence <strong>of</strong> correctness and simplicity is self evident. Robustness is neccessary,<br />
because when a large network is established, it should be functioning for a<br />
long period (maybe even years) without any network-wide interruptions. However,<br />
during that time some hardware or s<strong>of</strong>tware are bound to fail. Nodes and<br />
links will sometimes be down and the topology will be changing all the time.<br />
Then also, there will be a persistant fluctuation in the traffic on the network.<br />
The routing algorithm should be able to handle all these problems and should<br />
keep routing the traffic without an initiation <strong>of</strong> the network to be required every<br />
time. To do so, the network algorithm will have to monitor the operation <strong>of</strong> the<br />
network, decide on routing based on the present topology and traffic through<br />
the network, and implement these decisions. This means that in the routing<br />
algortithm congestion control comes into play.<br />
Congestion control is when excessive loads on some nodes is avoided, by requesting<br />
nodes carrying a lesser load to postpone their transmissons for a while.<br />
From this it is obvious that congestion control should address a global problem.<br />
Flow control, on the other hand, is the management <strong>of</strong> the traffic over a pointto-point<br />
link between two nodes. The purpose <strong>of</strong> flow control is to ensure that a<br />
fast node will not send packets faster than they can be received by a slow node<br />
at the other end <strong>of</strong> the point-to-point link. In flow control a direct feed-back<br />
from receiver to sender usually takes place.<br />
The routing algorithm is stable if the changes it makes go smoothly. Therefore<br />
small alterations in the network traffic and network topology should result<br />
in small alterations in the present routing. Instability is the situation where<br />
the routing algorithm adjusts the routing through the network because <strong>of</strong> the<br />
changes in the state <strong>of</strong> the network, and this results in a change in the traffic<br />
through the network which then again requires an adjustment, etc.<br />
5.1.3 Internetworking<br />
A routing algorithm is fair if all packets will have to wait an equal time at all<br />
nodes before being transferred. This definition can also be adjusted to include<br />
different classes <strong>of</strong> priorities. If priorites (or service qualities as they are also<br />
known) are assigned, then all packets <strong>of</strong> the same priority should have to wait<br />
the same time.<br />
Internetworking, just like congestion control, is closely associated with the routing<br />
function <strong>of</strong> the network layer. In the case <strong>of</strong> internetworking the routing<br />
problems are, however, compounded because the source and the destination <strong>of</strong><br />
the packets are not in the same subnet. So, for instance, is it possible that the<br />
two networks containing the source and the destination nodes are not directly<br />
linked. Then it is the task <strong>of</strong> the network layer to find a route through one or<br />
more intermediary subnets. Over and above the routing problems, matters can<br />
be even worse when the different subnets do not use the same protocols. Then<br />
conversions between the different protocols have to be performed. Just imagine<br />
the problems that will arise when packets have to be sent along both datagram<br />
and virtual ring networks. A further problem may be that the addressing <strong>of</strong><br />
different networks may differ.<br />
Optimality is a property that concerns the global operation <strong>of</strong> the routing algorithm.<br />
Optimality includes different measurable aspects. One <strong>of</strong> these is that<br />
the waiting time <strong>of</strong> packets should be kept as short as possible. If there are a<br />
large number <strong>of</strong> packets which all have a small waiting time before being sent,<br />
but a few with a long waiting time, then the average waiting time will be small.<br />
But from the viewpoint <strong>of</strong> the packets which have to wait long, this situation is<br />
not a fair one.
5.1. INLEIDING 107<br />
106 BYLAAG 5. NETWERKLAAG<br />
delde wagtyd laag wees. Die situasie is egter nie regverdig vanuit di oogpunt<br />
van die enkele pakkette wat lang wagtye beleef.<br />
5.1.1 Roetering<br />
5.1.2 Kongestie en vloei beheer<br />
Dit is in die meeste subnette nodig dat pakkette ’n aantal keer van node tot<br />
node moet “spring”. Die uitsondering is sogenaamde uitsaai netwerke soos<br />
CSMA/CD netwerke en satelliet/radio netwerke soos die ALOHA stelsel. Dit<br />
is in hierdie gevalle nog steeds nodig om roetering te doen indien oorsprong en<br />
eindbestemming op verskillende netwerke is.<br />
Sodra daar te veel pakkette in ’n gedeelte van ’n subnet is kan werkverrigting<br />
degradeer. Hierdie toedrag van sake staan as kongestie bekend. Onder normale<br />
omstandighede is die aantal pakkette wat deur die subnet afgelewer word<br />
eweredig aan die aantal pakkette wat in die subnet ingevoer is mits die aantal<br />
pakkette wat ingevoer word binne die subnet se dravermoë <strong>of</strong> kapasiteit is. Behalwe<br />
vir die enkele pakkette wat foute langs die pad optel en herversend moet<br />
word, word alle pakkette wat ingevoer word dus afgelewer. Sodra die aantal<br />
pakkette wat ingevoer word egter die kapasiteit van die netwerk oorskrei kan<br />
die intermediêre nodes nie meer die hoeveelheid pakkette hanteer nie met die<br />
gevolg dat hulle pakkette begin verloor. Indien die invoer verder verhoog word,<br />
sal die subnet se werkverrigting nog verder verswak tot die punt dat byna geen<br />
pakkette afgelewer word nie.<br />
Daar word dus by elke node op die subnet van een <strong>of</strong> ander roetering algoritme<br />
gebruik gemaak om te besluit op watter uitgaande verbindig ’n pakket wat<br />
ontvang is uitgestuur moet word. Indien die netwerk van datagramme gebruik<br />
maak word die keuse vir elke pakket wat ontvang word gedoen. Indien die<br />
netwerk egter van vituele kringe gebruik maak word die keuse eenmaal gedoen<br />
tydens die opstel van ’n virtuele kring. Alle pakkette wat dan oor die betrokke<br />
virtuele kring gestuur word sal dan op dieselfde uitgaande verbinding uitgestuur<br />
word.<br />
Nieteenstaande die tipe netwerk, datagram <strong>of</strong> virtuele kring, is daar tog ’n<br />
aantal eienskappe wat wenslik is van ’n roetering algoritme. Van die eienskappe<br />
is korrektheid, eenvoud, robuustheid, stabiliteit, regverdigheid en optimaliteit.<br />
Een oorsaak van kongestie is dat die intermediêre nodes te stadig is om die<br />
nodige boekhouding te doen rondom buffers vul en leegmaak, tabelle op datum<br />
hou ens. Nog ’n oorsaak is verkeer wat hoër is as die kapasiteit van die subnet.<br />
In beide gevalle gaan daar toue van pakkette by die nodes in die subnet opbou<br />
en dus gaan die buffers vol raak. Sodra al die buffers van ’n node vol is kan die<br />
node nie meer pakkette ontvang nie en moet enige nuwe pakkette wat aankom<br />
“weggegooi” word. Elke node wat ’n pakket gestuur het wat “weggegooi” is gaan<br />
’n tydverstreke op daardie pakket kry en dit dus weer stuur. Die stuurende node<br />
kan ook nie van die pakket ontslae raak voordat die pakket nie erken is nie, dus<br />
word ’n buffer ook by hom opgehou. Die gevolg is dat die stuurende node ook<br />
na ’n tyd oor geen oop buffers beskik nie en sodoende gaan die kongestie ’n<br />
opdamming veroorsaak wat terug beweeg na die bron van die pakkette.<br />
Die noodsaaklikheid van korrektheid en eenvoud is vanselfsprekend. Wat robuustheid<br />
betref is dit nodig om te besef dat nadat ’n groot netwerk aan die gang<br />
gesit is dit vir ’n lang tydberk (jare!) moet kan funksioneer sonder enige netwerkwye<br />
onderbrekings. Maar gedurende daardie tyd sal daar beslis apparatuur en<br />
programatuur wees wat faal. Nodes en verbidings sal afgaan en die topologie<br />
sal dus voortdurend verander. Verder is daar ook voortdurende wisseling in<br />
die verkeer wat deur die netwerk vloei. Die roetering algoritme moet al hierdie<br />
probleme kan hanteer en verkeer aanhoudend roeteer sonder dat die netwerk<br />
met elke verandering van vooraf geïnisieer word. Dit is dus nodig dat die roetering<br />
algoritme voortdurend die netwerk se werking monitor, roetering besluite<br />
neem op grond van die huidige topologie en verkeer wat deur die netwerk vloei<br />
en om dan hierdie besluite te implimenteer. Daar is dus sprake van kongestie<br />
beheer by die roetering algoritme.<br />
Kongestie beheer kom daarop neer dat verhoed word dat sommige nodes buitensporig<br />
oorlaai word deurdat nodes wat ’n ligter las dra versoek word om hulle<br />
transmissies ’n rukkie uit te stel. Dit is dus duidelik dat kongestie beheer ’n<br />
globale probleem moet aanspreek.<br />
Aan die anderkant hanteer vloei beheer die verkeer oor ’n punt-tot-punt verbinding<br />
tussen twee nodes. Die doel van vloei beheer is om te sorg dat ’n vinnige<br />
node nie pakkette vinniger stuur as wat ’n stadiger node aan die ander kant<br />
van die punt-tot-punt verbinding hulle kan ontvang nie. Vloei beheer behels<br />
gewoonlik die direkte terugvoer vanaf die ontvanger na die sender van pakkette.<br />
Die roetering algoritme is stabiel indien die veranderings wat dit aangebring<br />
glad verloop. Klein veranderings in netwerk verkeer en netwerk topologie moet<br />
dus klein veranderings in die huidige roetering teweeg bring. Onstabiliteit is die<br />
situasie waar die roetering algoritme die roetering deur die netwerk aanpas op<br />
grond van veranderings in die netwerk se huidige stand, net om weer te veroorsaak<br />
dat die verkeer deur die netwerk verander waarop daar weer ’n aanpassing<br />
gemaak moet word... en so aan.<br />
5.1.3 Netwerk tussenverbinding<br />
’n Roetering algoritme is regverdig indien alle pakkette by alle nodes ewe lank<br />
wag voordat hulle aangestuur word. Hierdie definisie kan ook aangepas word<br />
om verskillende klasse van prioriteite in te sluit. Indien daar van prioriteite, <strong>of</strong><br />
kwaliteite van diens soos dit ook bekend staan, gebruik maak, moet alle pakkette<br />
met dieselfde prioriteit dus ewe lank wag.<br />
Netwerk tussenverbinding is net soos kongestie beheer nou gekoppel aan die<br />
roetering funksievan die netwerklaag. Met netwerk tussenverbinding word die<br />
roetering probleme egter vererger aangesien die oorsprong en eindbestemming<br />
van pakkette nie in dieselfde subnet is nie. Dit is byvoorbeeld moontlik dat<br />
die twee netwerke wat die oorsprong en eindbestemming nodes bevat nie direk<br />
verbind is nie. Dit is dan die taak van die netwerklaag om ’n roete deur een<br />
<strong>of</strong> meer intermediêre subnette te vind. Behalwe die probleme rondom roeter-<br />
Optimaliteit het weer te doen met die globale werking van die roetering algoritme.<br />
Verskillende aspekte kan gemeet word wanneer dit kom by optimaliteit.<br />
Een moontlikheid is om die gemiddelde wagtyd van pakkette so kort as moontlik<br />
te hou. Indien daar dus ’n groot aantal pakkette is wat almal kort wagtye voor<br />
versending deurbring met enkele pakkette wat lank moet wag, gaan die gemid-
5.2. ROUTING ALGORITHMS 107<br />
106 ADDENDUM 5. NETWORK LAYER<br />
5.2 Routing algorithms<br />
<br />
Virtual Source Intermediary Destination<br />
ring node node(s) node<br />
V1 5 2 3 4<br />
V2 1 2 3 6<br />
V3 2 3 6 7 8<br />
V4 4 3 6 5<br />
<br />
V5 4 3 2 5<br />
.<br />
.<br />
.<br />
.<br />
The entries in the route table <strong>of</strong> node 3 will then be as follows:<br />
Virtual Exit<br />
ring link<br />
V1 4<br />
V2 6<br />
V3 6<br />
V4 6<br />
As mentioned abopve, it is the purpose <strong>of</strong> routing to find a route through a<br />
subnet along which packets may be sent from a given source to a specific destination.<br />
One possibility is to let the packets travel along a virtual ring, which<br />
would mean that all packets belonging to a specific communication session would<br />
follow the same route. Another possibility is that packets may travel independently<br />
as datagrams through the subnet. In both cases a route table at each<br />
node comes into play. In the case <strong>of</strong> a virtual ring, the route table will have an<br />
entry for each virtual ring to indicate on which exit link the route <strong>of</strong> the ring<br />
would lie. For datagrams the route table will have an entry for each possible<br />
destination giving the exit link for the best route to that destination. In this<br />
last case it is also possible to have a table containing a number <strong>of</strong> exit links,<br />
each for a different route, arranged from best to worst. When a packet arrives<br />
at a node, the node checks its route table to determine along which exit link the<br />
packet has to be sent to finally reach its destination. These route tables have<br />
to be compiled by the routing algorithm <strong>of</strong> the network layer.<br />
V5 2<br />
.<br />
.<br />
Consider for example the network in Figure 5.1. In the case <strong>of</strong> datagrams the<br />
entries in the route table <strong>of</strong> (say) node 5 may appear as follows:<br />
Each time a new virtual ring is set up, a new entry is made in the route table.<br />
Information from a datagram route table may be used in the process. It is therefore<br />
possible to have virtual rings from the same source to the same destination<br />
running along different paths, such as virtual rings V4 and V5 in the example.<br />
When a virtual ring is terminated, its entry is removed from the route tables.<br />
Routing algorithms may be classified in different fashions. We distinguish for<br />
instance, between non-adaptable or static routing algorithms and adaptable or<br />
dynamic routing algorithms. In static routing algorithms the routing is not<br />
based on the continuous measurement or estimation <strong>of</strong> the traffic, or on the<br />
changes in the topology. In fact, the routing tables are determined in advance<br />
when the network is set up, and is then installed on the different nodes. On the<br />
other hand dynamic routing algorithms continually adapt the routing tables to<br />
changes in the traffic through the subnet, as well as to changes in the topology<br />
<strong>of</strong> the subnet.<br />
Destination Exit Fraction<br />
link<br />
1 1 0.9<br />
2 0.1<br />
2 2 0.9<br />
1 0.1<br />
3 6 0.6<br />
2 0.4<br />
4 6 0.6<br />
2 0.4<br />
.<br />
.<br />
.<br />
Another distinguishing factor is where the algorithm is executed. Some algorithms,<br />
for instance, are executed on a specific node and calculate route tables<br />
for all the nodes in the subnet. Such a node is known as the route control<br />
centre. The route tables then have to be distributed throughout the network.<br />
These algorithms are called centralised routing algorithms. The alternative is<br />
decentralised routing algorithms where each node calculates its own route table.<br />
A further distinguishing factor is the way in which optimality is calculated. One<br />
possiblity is to find for each source-destination pair the the shortest or cheapest<br />
path. We call this the shortest path routing. We shall consider this type <strong>of</strong><br />
algorithm in more detail. The other possibility is to minimise the network-wide<br />
average waiting times. By this method it is possible that more than one route<br />
may exist between a given source-destination pair, as shown in the example <strong>of</strong><br />
the datagram route tables above. Algorithms minimising network wide mean<br />
waiting times are known as multipad or bifurcation routing algorithms.<br />
The exit link is identified as the node at the other end <strong>of</strong> the point-to-point<br />
link. There are more than one path to each <strong>of</strong> the other nodes. The choice<br />
<strong>of</strong> path can be done randomly. For each packet arriving a random number is<br />
generated in the interval [0, 1]. Suppose the destination <strong>of</strong> a packet is node 4.<br />
If the random number generated is less than 0.6, the packet is sent to node 6,<br />
otherwise it is sent to node 2. This means that node 5 will send 60% <strong>of</strong> the<br />
packets destined for node 4 to node 6, and 40% to node 2.<br />
In virtual rings, the routing tables will be specifying paths around the different<br />
virtual rings. Suppose that the following virtual rings have been set up by<br />
the network in Figure 5.1 (The numbers <strong>of</strong> the virtual rings are, for simplicity,<br />
considered to be constant throughout the network):
5.2. ROETERING ALGORITMES 109<br />
108 BYLAAG 5. NETWERKLAAG<br />
60% van die pakkette wat vir node 4 bestem is na node 6 toe stuur en 40% na<br />
node 2.<br />
Die roetering tabelle met virtuele kringe word weer rondom die verskillende<br />
virtuele kringe georganiseer. Gestel dat die volgende virtuele kringe deur die<br />
netwerk in figuur 5.1 opgestel is (die virtuele kringe se nommers word ter vereenvoudiging<br />
as konstant regdeur die netwerk beskou):<br />
ing kan sake nog verder vererger word deurdat die verskillende subnette nie<br />
dieselfde protokolle gebruik nie. Daar moet dan omskakelings tussen verskillende<br />
protokolle gedoen word. Dink maar aan die probleme wat ervaar sal word<br />
indien pakkette deur beide datagram en virtuele kring subnette gestuur moet<br />
word. Nog ’n probleem is dat adressering in verskillende netwerke van mekaar<br />
verskil.<br />
Virtuele Oorsprong Intermediêre Eindbestemming<br />
kring node node(s) node<br />
V1 5 2 3 4<br />
V2 1 2 3 6<br />
V3 2 3 6 7 8<br />
V4 4 3 6 5<br />
5.2 Roetering algoritmes<br />
V5 4 3 2 5<br />
.<br />
.<br />
.<br />
.<br />
Die inskrywings in die roete tabel van node 3 lyk dan soos volg:<br />
Virtuele Uitgaande<br />
kring verbinding<br />
V1 4<br />
V2 6<br />
V3 6<br />
V4 6<br />
V5 2<br />
.<br />
.<br />
Soos reeds genoem is dit die doel van roetering om ’n roete deur ’n subnet te<br />
verkry waarlangs pakkette vanaf ’n gegewe oorsprong tot ’n gegewe eindbestemming<br />
gestuur kan word. Een moontlikheid is dat pakkette langs ’n virtuele kring<br />
beweeg, in welke geval alle pakkette van ’n gegewe kommunikasie sessie langs<br />
dieselfde roete sal beweeg. ’n Ander moontlikheid is dat pakkette afsonderlik<br />
as datagramme deur die subnet beweeg. In beide gevalle is daar sprake<br />
van ’n roete tabel by elke node. In die geval van virtuele kringe sal die roete<br />
tabel ’n inskrywing vir elke virtuele kring bevat wat aandui op watter uitgaande<br />
verbinding die virtuele kring se roete lê. By datagramme sal die roetetabel vir<br />
elke moontlikke eindbestemming ’n inskrywing hê wat die uitgaande verbinding<br />
bevat vir die beste roete na daardie eindbestemming. In laasgenoemde geval is<br />
dit ook moontlik om ’n tabel te hê wat ’n aantal uitgaande verbindings bevat,<br />
elk vir ’n ander roete, wat van beste tot slegste gerangskik is. Sodra ’n pakket<br />
dus by ’n node aankom kyk die node net in sy roete tabel om vas te stel langs<br />
watter uitgaande verbinding die pakket gestuur moet word om uiteindelik by sy<br />
eidbestemming aan te kom. Hierdie roete tabelle moet deur die netwerklaag se<br />
roetering algoritme opgestel word.<br />
Elke keer wat ’n nuwe virtuele kring opgestel word, word ’n nuwe inskrywing<br />
in die roete tabel gemaak. Inligting soos vervat in ’n datagram roete tabel kan<br />
in die proses gebruik. Dit is dus dan ook moontlik om virtuele kringe vanaf<br />
dieselfde oorsprong na dieselfde eindbestemming te hê wat langs verskillende<br />
paaie loop soos virtuele kringe V4 en V5 in die voorbeeld. Wanneer ’n virtuele<br />
kring getermineer word, word sy inskrywing uit die roete tabelle verwyder.<br />
Beskou byvoorbeeld die netwerk in figuur 5.1. In die geval van datagramme kan<br />
die inskrywings in (sê) node 5 we roete tabel soos volg lyk:<br />
Roetering algoritmes kan op verskillende maniere geklassifiseer word. Een onderskeid<br />
is tussen nie-aanpasbare <strong>of</strong> statiese roetering algoritmes en aanpasbare<br />
<strong>of</strong> dinamiese roetering algoritmes. Met statiese roetering algoritmes word die<br />
roetering nie gebasseer op die voortdurende meting <strong>of</strong> skatting van verkeer <strong>of</strong><br />
verandering in topologie nie. Die roetering tabelle word eerder vooruit bepaal<br />
en dan op die verskillende nodes geïnstalleer met die opstel van die netwerk.<br />
Dinamiese roetering algoritmes aan die ander hand pas voorturend die roete<br />
tabelle aan by veranderinge in die verkeer wat deurdie subnet beweeg asook<br />
veranderinge in die topologie van die subnet.<br />
Bestemming Uitgaande Breukdeel<br />
verbinding<br />
1 1 0.9<br />
2 0.1<br />
2 2 0.9<br />
1 0.1<br />
3 6 0.6<br />
2 0.4<br />
4 6 0.6<br />
2 0.4<br />
.<br />
.<br />
.<br />
Nog ’n onderskeid wat getref kan word is aan die hand van waar die algoritme<br />
uitgevoer word. Daar is byvoorbeeld algoritmes wat op ’n spesifieke node uitgevoer<br />
word en roete tabelle vir al die nodes in die subnet bereken. So ’n<br />
node staan dan bekend as ’n roete beheer sentrum. Dit is dan nodig dat die<br />
roete tabelle deur die netwerk versprei word. Hierdie algoritmes staan as gesentraliseerde<br />
roetering algoritmes bekend. Die alternatief is gedesentraliseerde<br />
algoritmes waar elke node sy eie roete tabel bereken.<br />
Die uitgaande verbinding word geïdentifiseer as die node aan die ander punt van<br />
die punt-tot-punt verbinding. Daar is meer as een mmontlike pad na elkeen van<br />
die ander nodes. Die keuse van watter een van die paaie gebruik moet word kan<br />
lukraak gedoen word. Met elke pakket wat aankom word daar eers ’n waarde<br />
lukraak in die interval [0, 1] gegenereer. Gestel die bestemming vir ’n pakket is<br />
node 4. Indien die kansgetal wat gegenereer is kleiner is as 0.6 word die pakket<br />
na node 6 aangestuur, anders word dit na node 2 aangestuur. Node 5 sal dus
5.2. ROUTING ALGORITHMS 109<br />
108 ADDENDUM 5. NETWORK LAYER<br />
<br />
j is given by l(i, j). If nodes i and j are not directly linked, the cost between<br />
them is given by l(i, j) = ∞. Also the cost <strong>of</strong> the shortest path from each node<br />
v to the source node b is given by A(v). The exit link (next node) on this path<br />
is given by O(v). For each node the pair [O(v),A(v)] is calculated. With the<br />
iterations <strong>of</strong> the algorithm the value A(v) may become smaller and O(v) may<br />
change to indicate the cost and the exit link on a shorter path. Node O(v)<br />
finally, is the parent <strong>of</strong> node v in the shortest path tree <strong>of</strong> node b.<br />
<br />
The algorithm has two parts, i.e. an initialisation step and a step that is repeated<br />
until the algorithm terminates. The algorithm works as follows (with b the<br />
source node):<br />
1. Initial ring step:<br />
• Place the source node in the set N, therefore N = {b}.<br />
• Calculate [O(v),A(v)] for each node v not in N:<br />
<br />
[b,l(b,v)] if nodes v and b are directly linked<br />
[O(v), A(v)] =<br />
[·, ∞] anders<br />
• Place node b as the root node in the shortest path tree.<br />
2. Iterative step:<br />
Figure 5.1: Example network<br />
• From the nodes not in N, find the node w with the smallest A(w).<br />
5.2.1 Shortest path routing<br />
• Add w to N.<br />
• Add node w as a child <strong>of</strong> node O(w) in the shortest path tree.<br />
• Recalculate [O(v),A(v)] for all nodes v which are not in N.<br />
[O(v), A(v)] = inf cost([O(v),A(v)], [w, A(w) + l(v, w)]).<br />
• Repeat this step until all nodes are in N.<br />
In shortest path routing an attempt is made to minimise the cost <strong>of</strong> the route<br />
between every source-destination pair. It may therefore also be called lowest<br />
cost routing. The cost <strong>of</strong> a link may depend on various factors. It may inter<br />
alia be a function <strong>of</strong> the physical length, <strong>of</strong> the bandwidth and <strong>of</strong> the security<br />
<strong>of</strong> the link. The number <strong>of</strong> intermediate nodes on a route may also contribute<br />
to the cost <strong>of</strong> the route. We consider two centralised algorithms, one due to<br />
Dijkstra and the other due to Ford and Fulkerson.<br />
Example<br />
Consider the network in Figure 5.1. Choose node 4 as the source node, then we<br />
get:<br />
Dijkstra’s algorithm<br />
Step N [O(v),A(v)]<br />
1 2 3 5 6 7 8<br />
Initiating {4} [·, ∞] [·, ∞] [4, 4] [·, ∞] [·, ∞] [·, ∞] [·, ∞]<br />
1 {3,4} [·, ∞] [3, 8] [4, 4] [·, ∞] [3, 9] [·, ∞] [·, ∞]<br />
2 {2,3,4} [2, 11] [3, 8] [2, 13] [3, 9] [·, ∞] [·, ∞]<br />
3 {2,3,4,6} [2, 11] [6, 11] [3, 9] [6, 13] [·, ∞]<br />
4 {1,2,3,4,6} [2, 11] [6, 11] [6, 13] [·, ∞]<br />
5 {1,2,3,4,5,6} [6, 11] [6, 13] [·, ∞]<br />
6 {1,2,3,4,5,6,7} [6, 13] [7, 16]<br />
7 {1,2,3,4,5,6,7,8} [7, 16]<br />
FINAL [2, 11] [3, 8] [4, 4] [6, 11] [3, 9] [6, 13] [7, 16]<br />
This algorithm determines the shortest or cheapest path from a specific node,<br />
the source node, to all the other nodes in a network. However, the algorithm<br />
requires information about the global topology <strong>of</strong> the network. The algorithm,<br />
in a step-by-step procedure, builds a shortest path tree <strong>of</strong> the network. The<br />
algorithm terminates when a shortest path has been found to the furthest node.<br />
The root node in the tree is then the one for which the shortest paths to all the<br />
other nodes are required. After the kth step has been performed, the shortest<br />
paths to the k nodes closest to the source will be available. The nodes to which<br />
the shortest routes have already been found, are placed in a set N. If there are<br />
M nodes in the network, the algorithm will require M steps to construct the<br />
shortest path tree.<br />
For each step the [O(v),A(v)] pair <strong>of</strong> the node with the lowest cost (shortest<br />
path) is underlined. The values cannot change and therefore they are not shown<br />
in the table any more. The shortest path tree built for node 4 (in the network<br />
<strong>of</strong> Figure 5.1), is shown in Figure 5.2.<br />
Some information is required for the algorithm, such as the distance or cost<br />
between each pair <strong>of</strong> nodes in the network. The cost between node i and node
5.2. ROETERING ALGORITMES 111<br />
110 BYLAAG 5. NETWERKLAAG<br />
stap vir stap ’n kortste pad boom van die netwerk op. Die algoritme termineer<br />
sodra die kortste pad na die verste node gevind is. Die wortel node in die boom<br />
is dan die een waarvoor die kortste paaie na al die ander nodes verlang word.<br />
Nadat die k’e stap uitgevoer is sal die kortste paaie na die k nodes naaste aan<br />
die bron node beskikbaar wees. Die nodes waarheen kortste paaie reeds gevind<br />
is word in ’n versameling N geplaas. Indien daar M nodes in die netwerk is sal<br />
die algoritme M stappe benodig om die kortste pad boom op te stel.<br />
Vir die algoritme word die volgende inligting benodig: Die afstand <strong>of</strong> koste<br />
tussen elke paar nodes in die netwerk. Die koste tussen node i en node j word<br />
gegee deur l(i, j), Indien nodes i en j nie direk verbind is word die koste tussen<br />
hulle gegee deur l(i, j) = ∞. Verder word die koste van die kortste pad vanaf<br />
elke node v na die bron node b gegee deur A(v). Die uitgaande verbinding<br />
(volgende node) op hierdie pad word gegee deur O(v). Vir elke node word die<br />
paar [O(v), A(v)] bereken. Soos die algoritme itereer kan A(v) kleiner word en<br />
O(v) verander om die koste van en uitgaande verbinding op ’n korter pad aan te<br />
dui. Node O(v) is dan uiteindelik die ouer van node v in die kortste pad boom<br />
van node b.<br />
Die algoritme het twee dele, nl. ’n inisiërings stap en ’n stap wat herhaal word<br />
totdat die algoritme termineer. Die algoritme lyk soos volg (met node b die<br />
bron node):<br />
1. Inisiëring stap:<br />
• Plaas die bron node in die versameling N, dus N = {b}.<br />
• Bereken [O(v), A(v)] vir elke node v nie in N nie:<br />
<br />
[b, l(b, v)] as nodes v en b direk verbind is<br />
[O(v), A(v)] =<br />
[·, ∞] anders<br />
Figure 5.1: Voorbeeld netwerk<br />
• Plaas node b as wortel node in die kortste pad boom.<br />
2. Iteratiewe stap:<br />
Nog ’n onderskeid kan getref word op die wyse waarop optimaliteit bereken<br />
word. Die een moontlikheid is om vir elke gegewe oorsprong-eindbestemming<br />
paar die kortste <strong>of</strong> goedkoopste pad te vind. Hier word dus gepraat van kortste<br />
pad roetering. Ons sal in meer detail ingaan op hierdie tipe algoritmes. Die<br />
ander moontlikheid is dat die netwerkwye gemiddelde wagtye geminimeer word.<br />
Dit is in hierdie geval moontlik dat daar meer as een roete tussen ’n gegewe<br />
oorsprong-eindbestemming paar kan bestaan soos in die voorbeeld van datagram<br />
roetetabelle hierbo. Algoritmes wat netwerkwye gemiddelde wagtye minimeer<br />
staan as multipad <strong>of</strong> bifurkasie roetering algoritmes bekend.<br />
• Kry uit die nodes wat nie in N is nie die node w met die kleinste<br />
A(w).<br />
• Voeg w by N.<br />
• Voeg node w as ’n kind van node O(w) in die kortste pad boom by.<br />
• Herbereken [O(v), A(v)] vir alle nodes v wat nie in N is nie.<br />
5.2.1 Kortste pad roetering<br />
[O(v), A(v)] = inf koste([O(v), A(v)], [w, A(w) + l(v, w)]).<br />
• herhaal hierdie stap totdat alle nodes in N is.<br />
Voorbeeld<br />
Beskou die netwerk in figuur 5.1. Neem node 4 as die bron node, dan het ons:<br />
Met kortste pad roetering word daar gepoog om die koste van die roete tussen<br />
elke oorsprong-eindbestemming paar te minimeer. Ons kan dus ook praat van<br />
laagste koste roetering. Die koste van ’n verbinding kan verskillende vorms<br />
aanneem. Dit kan ’n funksie wees van onder andere die fisiese lengte, bandwydte<br />
en sekuriteit van die verbinding. Verder kan die aantal intermediêre nodes op<br />
’n roete deel uitmaak van die roete se koste. Ons beskou twee gesentraliseerde<br />
algoritmes, een te danke aan Dijkstra en die ander aan Ford en Fulkerson.<br />
Stap N [O(v),A(v)]<br />
1 2 3 5 6 7 8<br />
Inisiëring {4} [·, ∞] [·, ∞] [4, 4] [·, ∞] [·, ∞] [·, ∞] [·, ∞]<br />
1 {3,4} [·, ∞] [3, 8] [4, 4] [·, ∞] [3, 9] [·, ∞] [·, ∞]<br />
2 {2,3,4} [2, 11] [3, 8] [2, 13] [3, 9] [·, ∞] [·, ∞]<br />
3 {2,3,4,6} [2, 11] [6, 11] [3, 9] [6, 13] [·, ∞]<br />
4 {1,2,3,4,6} [2, 11] [6, 11] [6, 13] [·, ∞]<br />
5 {1,2,3,4,5,6} [6, 11] [6, 13] [·, ∞]<br />
6 {1,2,3,4,5,6,7} [6, 13] [7, 16]<br />
7 {1,2,3,4,5,6,7,8} [7, 16]<br />
FINAAL [2, 11] [3, 8] [4, 4] [6, 11] [3, 9] [6, 13] [7, 16]<br />
Dijkstra se algoritme<br />
<br />
Hierdie algoritme vind die kortste <strong>of</strong> goedkoopste pad vanaf ’n spesifieke node,<br />
die bron node, na al die ander nodes in ’n netwerk. Die algoritme benodig egter<br />
inligting aangaande die globale topologie van die nerwerk. Die algoritme bou
5.2. ROUTING ALGORITHMS 111<br />
110 ADDENDUM 5. NETWORK LAYER<br />
The Ford and Fulkerson algorithm<br />
<br />
<br />
The algorithm <strong>of</strong> Ford and Fulkerson also has two parts, just as was the case for<br />
the algorithm <strong>of</strong> Dijkstra, i.e. an initiating step and a step that is repeated until<br />
the algorithm terminates. The iterative step, however, in this case terminates as<br />
soon as it performs an iteration in which no change takes place. The algorithm<br />
is (let node b be the source node):<br />
1. Initiating step:<br />
Let A(b) = 0, for all the other nodes [O(v),A(v)] = [·, ∞].<br />
2. Iterative step: For all nodes v = b:<br />
• Calculate A(w)+l(v,w) for all nodes w linked directly to v. Use the<br />
present values A(w) <strong>of</strong> each node w.<br />
• Calculate<br />
[O(v),A(v)] = minw([w, A(w) + l(v,w)]).<br />
The value O(v) is the parent <strong>of</strong> each node v in the shortest path tree. These<br />
values can therefore be used to set up the shortest path tree for node b.<br />
Example<br />
Once again consider the network <strong>of</strong> Figure 5.1. Suppose again that node 4 is<br />
the source node, then we get:<br />
Step [O(v),A(v)]<br />
1 2 3 5 6 7 8<br />
Initiation [·, ∞] [·, ∞] [·, ∞] [·, ∞] [·, ∞] [·, ∞] [·, ∞]<br />
1 [·, ∞] [·, ∞] [4,4] [·, ∞] [3,9] [6, 13] [7, 16]<br />
2 [·, ∞] [3,8] [4,4] [6, 11] [3,9] [6, 13] [7, 16]<br />
3 [2, 11] [3,8] [4,4] [6, 11] [3,9] [6, 13] [7, 16]<br />
4 [2, 11] [3,8] [4,4] [6, 11] [3,9] [6, 13] [7, 16]<br />
From the values <strong>of</strong> O(v) we once again get the shortest path tree as shown in<br />
Figure 5.2.<br />
Figure 5.2: Shortest path tree for node 4 <strong>of</strong> the network in figuur 5.1
5.2. ROETERING ALGORITMES 113<br />
112 BYLAAG 5. NETWERKLAAG<br />
Met elke stap word die node met die laagste koste (kortste afstand) se [O(v), A(v)]<br />
paar onderstreep. Die waardes kan nie weer verander dus word hulle ook nie<br />
verder in die tabel getoon nie. Die kortste pad boom wat vir node 4 (in die<br />
netwerk van figuur 5.1) op gebou is word in figuur 5.2 getoon.<br />
Ford en Fulkerson se algoritme<br />
Die algoritme van Ford en Fulkerson het nes Dijkstra se algoritme twee dele,<br />
nl. ’n inisiërings stap en ’n stap wat herhaal word totdat die algoritme termineer.<br />
Die iteratiewe stap termineer nou egter sodra dit ’n iterasie gedoen het<br />
waartydens geen verandering plaasgevind het nie. Die algoritme lyk soos volg (<br />
Die algoritme het twee dele, nl. ’n inisiërings stap en ’n stap wat herhaal word<br />
totdat die algoritme termineer. Die algoritme lyk soos volg (gestel node b is die<br />
bron node):<br />
1. Inisiëring stap:<br />
Stel A(b) = 0, vir al die ander nodes [O(v), A(v)] = [·, ∞].<br />
2. Iteratiewe stap: Vir alle nodes v = b:<br />
• Bereken A(w)+l(v,w) vir alle nodes w wat direk met v verbind is.<br />
Gebruik die huidige waardes A(w) van elke node w.<br />
• Bereken<br />
[O(v), A(v)] = minw([w, A(w) + l(v, w)]).<br />
Die waarde O(v) is die ouer van elke node v in die kortste pad boom. Hierdie<br />
waardes kan dus gebruik word om die kortste pad boom vir node b op te stel.<br />
Voorbeeld<br />
Beskou weereens die netwerk in figuur 5.1. Neem weer node 4 as die bron node,<br />
dan het ons:<br />
Stap [O(v),A(v)]<br />
1 2 3 5 6 7 8<br />
Inisiëring [·, ∞] [·, ∞] [·, ∞] [·, ∞] [·, ∞] [·, ∞] [·, ∞]<br />
1 [·, ∞] [·, ∞] [4, 4] [·, ∞] [3, 9] [6, 13] [7, 16]<br />
2 [·, ∞] [3, 8] [4, 4] [6, 11] [3, 9] [6, 13] [7, 16]<br />
3 [2, 11] [3, 8] [4, 4] [6, 11] [3, 9] [6, 13] [7, 16]<br />
4 [2, 11] [3, 8] [4, 4] [6, 11] [3, 9] [6, 13] [7, 16]<br />
Uit die waardes van O(v) word dan weereens die kortste pad boom soos in<br />
figuur 5.2 verkry.<br />
Figure 5.2: Kortste pad boom vir node 4 van die netwerk in figuur 5.1