Hoofdstuk 5: Computernetwerken 1. Inleiding 2. Fysische laag 3. Dataverbindingslaag 4. Lokale...

Post on 04-Jun-2015

232 views 4 download

Transcript of Hoofdstuk 5: Computernetwerken 1. Inleiding 2. Fysische laag 3. Dataverbindingslaag 4. Lokale...

Hoofdstuk 5: Computernetwerken

1. Inleiding

2. Fysische laag

3. Dataverbindingslaag

4. Lokale Netwerken

5. Netwerklaag

6. Netwerken verbinden: internet

7. Transportlaag

8. Naamdiensten

9. Toepassingen

2

1. Inleiding

mainframmainframee

niet-grafische terminals

1960 ... 1970 ...

3

1. Inleiding (verv.)

1980 ...

PC ofPC of workstationworkstation

serverserver

4

1. Inleiding (verv.)

1.1 Waarom Computernetwerken?

1.2 Componenten in een netwerk

1.3 Netwerkarchitectuur

1.4 OSI-referentiemodel

1.5 Internet model

5

1.1 Waarom Comp.netwerken?

Gemeenschappelijk gebruik hulpmiddelen apparaten (drukker, scanner, supercomputer, …) gegevens (bestand, gegevensbank, …)

Betrouwbaarheid beschikbaarheid reserve computer: taken overnemen reserve kopieën van bestanden, ...

Kostenreductie

Communicatiekanaal

6

1.1 Waarom Comp.netw.? (verv.)

Gemeenschappelijk gebruik hulpmiddelen Betrouwbaarheid beschikbaarheid

Kostenreductie prijs/prestatie: n * prijs(R) < prijs (n * R) dure randapparatuur: print-server, file-server, ... uitbreiden eenvoudiger: extra pc vervangen computer

Communicatiekanaal e-post gewone post bestanden overhalen cassettes, floppies versturen elektronisch berichtenbord, e-krant, ...

7

1.2 Componenten v/e netwerk

Beeld van de gebruiker

Communicatienetwerk

Computernetwerk vs Gedistribueerd systeem

Opbouw van een communicatienetwerk

lange afstand communicatienetwerk

lokaal netwerk

8

Beeld van de gebruiker

S1

S2

S3

S4

A

B

Communicatie-netwerk

9

Beeld van de gebruiker (verv.)

Communicatienetwerk

vergelijk telefoonnetwerk

centrales, kabels, aansluitpunten

telefoontoestellen, faxtoestellen

kanaal met voldoende bandbreedte (3000 Hz)

10

Beeld van de gebruiker (verv.)

Computernetwerk

communicatienetwerk

+ aangesloten systemen (PCs, …)

systemen autonoom + identificeerbaar

vb. Gebruiker A wil op B werken

11

Beeld van de gebruiker (verv.)

Gedistribueerd systeem

computernetwerk

1 virtueel systeem

transparante toegang tot drukker

transparante toegang tot bestand

transparant “werk” verdelen

12

Opbouw v/e comm.netwerk

Lange afstand comm.-netwerk

WAN (Wide Area Network)

onderling verbonden “schakelaars”

verbindingen (coaxiale kabel, glasvezel, …)

bandbreedte =

| hoogste doorgel. freq. - laagste freq. |

routering

13

Lange afstand comm. netwerk

A B

S1 S3

S1 S4 S3

S1 S2 S4 S3

S1

S2

S3

S4

A

B

14

Opbouw v/e comm.netwerk (2)

Lokaal Netwerk LAN (Local Area Network)

binnen 1 gebouw (< 1 km)

geen schakelaars

communicatiebord in PC

bus- of ringnetwerk

routering niet nodig

15

Lokaal Netwerk (LAN)

16

1.3 Netwerkarchitectuur

Communicatie niet eenvoudig betrouwbaar bit-transport bepalen van route opsplitsen in pakketten samenvoegen van pakketten …

Systematische aanpak Protocol + Gelaagde architectuur

17

1.3 Netwerkarchitectuur (verv.)

Protocol “regels”

aard en samenstelling van boodschappen reactie op boodschap

Dienst aan gebruikers van “entiteit” vb. foutvrij transport van pakketten

entiteit

entiteit

18

1.3 Netwerkarchitectuur (verv.)

Gelaagde architectuur

entiteit

entiteit

entiteit

entiteit

protocol 2

protocol 1

Laag 2

Laag 1

die

ns

t

die

ns

t

Logische comm.

19

1.3 Netwerkarchitectuur (verv.)

Gelaagde architectuur

entiteit

entiteit

entiteit

entiteit

protocol 2

protocol 1

Laag 2

Laag 1

die

ns

t

die

ns

t

20

Vb 1: Discuterende Filosofen

Ik vind dat menmensen niet mag

klonen.

taal

FilosoofFilosoof

(Gent)(Gent)

FilosoofFilosoof

(Tokio)(Tokio)

•telefootelefoonn•faxfax•(brief)(brief)

TolkTolkTolkTolk

SecretaresSecretaressese

SecretariSecretariss

telefoonnetwerktelefoonnetwerk

comm. kanaal

21

Vb 2: Comm. ts Processen

Proces A op computer x vraagt aan proces B op computer yom bestand “brief.doc” op te sturen

Proces Proces AA

Proces Proces BB

x ybrief.doc

22

Vb 2: Comm. ts Processen (verv.)

Protocol

AA

x y

BBzend “brief.doc”1200 bytesOKBeste rector, ...

OK

23

Vb 2: Comm. ts Processen (verv.)

Protocol: “dialoog”

Hoe boodschappen overgebracht

belangrijk Transportlaag: comm. ts. processen

identificatie: (machinenaam, procesnaam)

Netwerklaag: transport over netwerk

identificatie: machinenaam

24

Vb 2: Comm. ts Processen (verv.)

Communicatie-Communicatie-netwerknetwerk

ProcessenA B

Transport

Netwerk

ProcessenB C D

Transport

Netwerk

ProcessenB D

Transport

Netwerk

xx yy

zz

25

Vb 2: Comm. ts Processen (verv.)

Proces A

Proces B

zend “brief.doc”

B, AB, A

zend “brief.doc”

Transport-laag op x

Transport-laag op y

zend “brief.doc”

y, By, Bzend “brief.doc”

x, Ax, A

26

Vb 2: Comm. ts Processen (verv.)

Transport-laag op x

Transport-laag op y

Netwerk-laag op x

Netwerk-laag op y

yy xx

B, AB, Ay, xy, x

B, AB, A

B, AB, A B, AB, A

27

Vb 2: Comm. ts Processen (verv.)

B, AB, A

zend “brief.doc”

voorstellen door:voorstellen door:

B, AB, A zend “brief.doc”

28

Vb 2: Comm. ts Processen (verv.)

Proces A

Proces B

zend “brief.doc”

y, y, BBTransport-laag op x

Transport-laag op y

zend “brief.doc”

zend “brief.doc”

x, x, AA

yy xx

Netwerk-laag op x

Netwerk-laag op y

B, AB, A zend ...B, AB, A zend “brief.doc”

y, xy, x B, AB, A zend “brief.doc”

B, AB, A zend “brief.doc”

29

Samenvatting

proces proces gegevensgegevens

proces proces gegevensgegevens

transportransportt

hoofdinghoofding

proces proces gegevensgegevens

transportransportt

hoofdinghoofding

netwerknetwerkhoofdinghoofding

30

1.4 OSI-Referentiemodel

Ontwerp netwerk = complex Decompositie: manieren OSI: Open System Interconnection

open: comm. ts. versch. systemen referentie: raamwerk voor ontw. protocols functionaliteit van elke laag gedefinieerd kan door versch. protocols gerealiseerd

31

1.4 OSI-Referentiemodel (verv.)

7 lagen hoogste vier: ts. aangesloten systemen

S1

S2

S3

S4

x

y

32

1.4 OSI-Referentiemodel (verv.)

N

D

F

N

D

F

systeem x S1 S4 systeem y

protocol applicatielaag

protocol presentatielaag

protocol sessielaag

protocol transportlaag

protocol netw. laag

protocol data. laag

protocol fys. laag

applicatie

presentatie

sessie

transport

netwerk

dataverbinding

fysische

applicatie

presentatie

sessie

transport

netwerk

dataverbinding

fysische

33

1.4 OSI-Referentiemodel (verv.)

Fysische laagversturen van bits over fysische kabel aard van kabel kenmerken van connectoren voorstellen van bits op kabel

Dataverbindingslaagcreatie van foutvrij comm. kanaal herkennen van pakketjes detectie van fouten controle op stroom van pakketjes (flow control)

34

1.4 OSI-Referentiemodel (verv.)

Netwerk laagverkeer van pakketjes door 1/# netwerken 2 soorten diensten:

virtuele verbindingen datagram dienst

routebepaling kostendoorrekening onderling verbinden van netwerken

+ routebepaling doorheen die netwerken

35

1.4 OSI-Referentiemodel (verv.)

Transport laagbetrouwbaar comm. kanaal ts. eindsystemen efficiënt gebruik comm. Netwerken

multiplexing meerdere verbindingen tussen eindsystemen

opdelen in pakketjes + samenvoegen controle op boodschappenstroom (flow control)

36

1.4 OSI-Referentiemodel (verv.)

Sessielaagextra hulpmiddelen voor samenwerking via

betrouwbaar comm. kanaal organisatie van dialoog:

vb. Beurtelings zenden plaatsen van synchronisatiepunten

(voor hervatten van dialoog na fout)

37

1.4 OSI-Referentiemodel (verv.)

Presentatielaagbehoud van betekenis van informatie keuze van voorstelling van gegevens

“op de kabel” ASCII vs EBCDIC 16-bit, 32-bit, … integers met 2-complementvoorst. ...

ev. vercijfering van gegevens(confidentialiteit!)

ev. compressie van gegevens

38

1.4 OSI-Referentiemodel (verv.)

Applicatielaaghoogste laag applicaties, geschreven door eindgebruikers

sturing van robots, elektronisch geldverkeer, … standaard applicaties

elektronische post (X400) overdracht van bestanden (FTAM) deelproblemen: RPC (remote procede call)

39

1.4 OSI-Referentiemodel (verv.)

Belangrijk referentiemodel Niet basis voor praktische protocols Definitie te lang geduurd Ondertussen:

Internet groeiend succes

40

1.5 Internet model

nooit formeel gedefinieerd geleidelijk aan gegroeid slechts 5 lagen

geen sessielaag (toch weinig functionaliteit)

geen presentatielaag( elk appl.protocol moet dit definiëren)

41

1.5 Internet Model (verv.)

applicatie

presentatie

sessie

transport

netwerk

dataverbinding

fysische

Applicatie

transport

netwerk

dataverbinding

fysische

OSI referentiemodel Internet model

Inhoud

1. Inleiding

2. Fysische laag

3. Dataverbindingslaag

4. Lokale Netwerken

5. Netwerklaag

6. Netwerken verbinden: internet

7. Transportlaag

8. Naamdiensten

9. Toepassingen

43

2. Fysische laag

Basisbegrippen Digitale communicatie Modems Schakeltechnieken

44

2.1 Basisbegrippen

Analoog <> digitaal Periodieke signalen

G(t) = ak sin(2kf t) + bk cos(2kf t)

Transmissiemedia Gevlochten koperparen Coaxiale kabels

45

2.2 Digitale Communicatie

Digitaal signaal: 0-en en 1-en

Synchronisatie ts zender & ontvanger ev. speciaal bitpatroon begin/einde

+5V

0V

-5V

0 1 0 1 0 0 0 1 0 1

46

2.2 Digitale Communicatie (verv.)

Vervorming Verzwakking Beperkte bandbreedte

G(t) = ak sin(2kf t) + bk cos(2kf t)

Omgevingsfactoren: ruis

+5V

0V

-5V

47

2.3 Modems

Digitaal signaal over analoog kanaal met beperkte bandbreedte Amplitude Frequentie Fase Combinaties

48

2.4 Schakeltechnieken

Lijnschakelen Boodschapschakelen Pakketschakelen

49

Lijnschakelen

3 Fasen: opzetten van een verbinding

ev. onderhandelen gebruik van de verbinding

slechts kleine vertraging (200.000 km/sec) verbreken van de verbinding

vergelijk telefoonverbinding niet efficiënt voor communicatie tussen

computers

50

Lijnschakelen (verv.)

tijd

opdracht resultaat

niet gebruikt

51

Boodschapschakelen

Verbindingen gemeensch. gebruikt boodschap: schakelaar schakelaar Store-and-forward Grotere vertraging

volledig ontvangen, dan pas verdergestuurd als verbinding vrij

Variabele vertraging

52

Boodschapschakelen (verv.)

53

Pakketschakelen

Boodschap opdelen in pakketjes Afzonderlijk over netwerk verstuurd

eventueel verschillende route Lijn slechts korte tijd bezet Vertragingen zijn variabel

54

Pakketschakelen (verv.)

1

3

24

6

5

1 32

4 65

Inhoud

1. Inleiding

2. Fysische laag

3. Dataverbindingslaag

4. Lokale Netwerken

5. Netwerklaag

6. Netwerken verbinden: internet

7. Transportlaag

8. Naamdiensten

9. Toepassingen

56

3. Dataverbindingslaag

Hoofdopdracht: realiseren v. betrouwbaar kanaal

Beperkingen: mogelijk: verwerkingssnelheid geen voorz. om systemen te synchroniseren

Fysische laag: bits oversturen (onbetrouwbaar)

Fysische Laag Fysische Laag

01010001010100010101

01010010101101010101

57

3. Dataverbindingslaag (verv.)

Inhoud3.1 Taken

3.2 Algoritmen en Protocols

3.3 Protocol 1: Geen fouten, geen stroombeheersing

3.4 Protocol 2: Stroombeheersing, geen fouten

3.5 Protocol 3: Stroombeheersing, fouten mogelijk

3.6 Protocol 4: 1-bit venster protocol

3.7 Uitbreidingen

58

3.1 Taken

M.O.: sommige taken door HW, andere door SW

Afbaken van pakketjes

begin & einde herkennen

vb. bitpatroon: 01111110

kan ook in pakket voorkomen! (0 inlassen na vijf 1-bits)

011111111001010011010

01111110011111011100101001101001111110

59

3.1 Taken (verv.)

Detectie van fouten zender: controlebits toevoegen aan pakket ontvanger: nagaan of correct ontvangen bijvoorbeeld

pariteitsbit: 1-bit fout detecteren (on)even pariteit: # 1-bits in pakket is (on)even

CRC (Cyclic Redundancy Check) fouten van meerdere bits detecteren

indien fout: opnieuw zenden hoofding met volgnummer

duplicaten herkennen (bij heruitzending)

60

3.1 Taken (verv.)

Stroombeheersing flow control snelle zender overspoelt trage ontvanger

ontvanger: expliciete/impliciete toelating om volgend pakket te sturen

Pakket Layout

01111110

01111110

Beginpatroon

Hoofding

Data

Eindpatroon

Controlesom

HHWW

v. Netwerklaag

61

3.2 Algoritmes en protocols

typedef struct {...} data_van_netwerklaag;

typedef struct { int nr: …; /* veld van hoofding */

data_van_netwerklaag data;

} pakket;

void ontvang_van_netwerklaag (data_van_netwerklaag *d);

/* na oproep verwijst d informatie die moet verstuurd worden*/

void geef_aan_netwerklaag (data_van_netwerklaag d);

/* data in ontvangen pakket w. doorgegeven aan netwerklaag */

void verzend_pakket (pakket p);

/* p wordt voor verzending doorgegeven aan fysische laag */

void ontvang_pakket (pakket *p);

/* ontvang pakket p van de fysische laag */

62

3.2 Algoritmes & Protocols (verv.)

1 zender & 1 ontvanger

1-richting communicatie

NWL (zender): onbeperkte hoeveelheid gegevens

NWL (ontvanger): onbeperkte hoev. Bufferruimte

Fysische Laag Fysische Laag

DVL (zender) DVL (ontvanger)

ontvang_van_netwerklontvang_van_netwerklaagaag

verzend_pakketverzend_pakket

geef_aan_netwerklageef_aan_netwerklaagag

ontvang_pakkeontvang_pakkett

63

3.3 Protocol 1: geen fouten, geen stroombeheersing

zendezenderr

ontvangeontvangerr

tijd

tijd

Vertragingts zendenen ontvangen

Zender kan onbeperkt zenden

64

3.3 Protocol 1: geen fouten, geen stroombeheersing (verv.)

Algoritme zender Algoritme ontvanger

data_van_netwerklaag dnl; data_van_netwerklaag dnl;

pakket p; pakket p;

while (true){ while (true){

ontvang_van_netwerklaag(&dnl); ontvang_pakket(&p);

p.info = dnl;geef_aan_netwerklaag(p.info);

verzend_pakket(p); }

}

65

3.3 Protocol 1: geen fouten, geen stroombeheersing (verv.)

Zender kan onbeperkt Zender kan onbeperkt zenden ...zenden ...

66

3.4 Protocol 2: geen fouten, wel stroombeheersing

zendezenderr

ontvangeontvangerr

tijd

tijd

Ontvanger geeft expliciet toestemming voor sturen van volgend pakket

67

3.4 Protocol 2: geen fouten, wel stroombeheersing (verv.)

Algoritme zender Algoritme ontvanger

data_van_netwerklaag dnl; dnl: data_van_netwerklaag;

pakket p, t; pakket p, t;

while (true){ while (true){

ontvang_van_netwerklaag(&dnl); ontvang_pakket(&p);

p.info = dnl; geef_aan_netwerklaag(p.info);

verzend_pakket(p); verzend_pakket(t);

ontvang_pakket(&t); }

}

68

3.5 Protocol 3: fouten mogelijk, stroombeheersing Fouten:

pakket niet ontvangen pakket wordt als foutief herkend

(wordt niet doorgegeven aan Netwerklaag)

stel herkend in procedure ontvang_pakket(de procedure keert niet terug, maar wacht op een volgend -correct- pakket van de fysische laag)

bijgevolg: geen onderscheid tussen beide

69

Algoritme (2) zender Algoritme (2) ontvanger… ...

while (true){ while (true){

ontvang_van_netwerklaag(&dnl); ontvang_pakket(&p);

p.info = dnl; geef_aan_netwerklaag(p.info);

verzend_pakket(p); verzend_pakket(t);

ontvang_pakket(&t); }

}

zenderzender ontvangerontvanger

Impasse!!Impasse!!!!

3.5 Protocol 3: fouten mogelijk, stroombeheersing

70

3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)

zendezenderr

ontvangeontvangerr

wekk

er

P0

P1

P1

P2

P0.info

P1.info

P2.info

71

3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)

zendezenderr

ontvangeontvangerr

wekk

er

P2 P2.info

P2 Duplicaat!Duplicaat!!!!!

Pakketten nummeren

• onderscheid: nieuw heruitzending• 1-bit nummer volstaat

72

3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)

Zender: na zetten van wekker:

2 gebeurtenissen mogelijk wekker loopt af aankomst van een pakket

gebeurtenis wacht_op_gebeurtenis();

geb := wacht_op_gebeurtenis();

{ geb = AANKOMST of geb = WEKKER }

73

3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)

Algoritme zender

data_van_netwerklaag dnl; int volgend_volgnummer; /* 0 of 1 */

pakket p, t; gebeurtenis geb; /*AANKOMST of WEKKER*/

volgend_volgnummer = 0; if (geb == AANKOMST) {

ontvang_van_netwerklaag(&dnl); stop_wekker();

while(true){ ontvang_pakket(&t);

p.nr = volgend_volgnummer; ontvang_van_netwerklaag(&dnl);

p.info = dnl; volgend_volgnummer =

verzend_pakket(p); (volgend_volgnummer + 1) % 2;

start_wekker(); }

geb = wacht_op_gebeurtenis(); }

74

3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)

Algoritme ontvanger

data_van_netwerklaag dnl; int verwacht_volgnummer;

pakket p, t;

verwacht_volgnummer = 0;

while(true){

ontvang_pakket(p);

if (p.nr == verwacht_volgnummer) {

geef_aan_netwerklaag(p.info);

verwacht_volgnummer = (verwacht_volgnummer +1) % 2;

}

verzend_pakket(t); /*steeds nodig, ook als duplicaat ontvangen is */

}

75

3.5 Protocol 3: Corrrect??? (verv.)

zenderzender ontvangerontvanger zenderzender ontvangerontvanger

I0

duplicaat

I4

I1

beschouwd als duplicaat

I00

I11

I11

I20

I31

I40traag!traag!w

ekke

r

info

nr

Legende:Legende:

76

Vensterprotocol

bedoeld voor gegevensverkeer in 2 richtingen

Hier vereenvoudiging

alleen verkeer in 1 richting

Fout in protocol 3:

Zender: Toelating foutief interpreteren

Oplossing: Toelating bevat bevestiging

v. laatst correct ontvangen pakket

(acknowledgement)

3.6 Protocol 4: 1-bit venster protocol

77

3.6 Protocol 4: 1-bit venster protocol (verv.)

Algoritme zender

data_van_netwerklaag dnl; int volgend_nr; /* 0..1 */pakket p, ack; gebeurtenis geb; /*AANKOMST of WEKKER*/

volgend_volgnummer = 0; if (geb == AANKOMST) {ontvang_van_netwerklaag(&dnl); stop_wekker();while(true){ ontvang_pakket(&ack);

p.nr = volgend_nr; if (ack.nr == volgend_nr) {p.info = dnl; ontvang_van_netwerklaag (dnl);verzend_pakket(p); volgend_nr = (volgend_nr + 1) % 2;start_wekker(); }geb = wacht_op_gebeurtenis(); } }

78

Algoritme ontvanger

data_van_netwerklaag dnl; int verwacht_volgnummer; /* 0..1*/pakket p, ack;

verwacht_volgnummer = 0;while(true){

ontvang_pakket(&p);if (p.nr == verwacht_volgnummer) {

geef_aan_netwerklaag(p.info);verwacht_volgnummer = (verwacht_volgnummer + 1) % 2;

}ack.nr = p.nr;verzend_pakket(ack);

}

3.6 Protocol 4: 1-bit venster protocol (verv.)

79

zenderzender ontvangerontvanger zenderzender ontvangerontvanger

I0

duplicaat

I3

I1

I00

I11

I11

I20

I20

I31traag!traag!w

ekke

r3.6 Protocol 4: 1-bit venster protocol (verv.)

0

1

1

0

I2

info

nr

nr

Legende:Legende:

80

3.7 Uitbreidingen

beperkingen protocol 4: als propagatietijd signaal

onefficiënt gebruik van communicatiekanaal bijv. Satellietverbinding

81

3.7 Uitbreidingen (verv.)

36.0

00 k

m

36.0

00 k

m200.000

200.000

km/s

km/s

64.000

64.000

bits/s

bits/s

8000 bits

8000 bits

82

3.7 Uitbreidingen (verv.)

0 ms0 ms 125 125 msms

180 180 msms

360 360 msms

485 485 msms

845 845 msms

83

3.7 Uitbreidingen (verv.)

Onefficiënt gebruik van kanaal: 1 pakket uitzenden: 125 ms, volgende pas na 845 ms = 15% nuttig gebruik van kanaal

Oplossing: zender:

mag meerdere pakketjes sturen bijv. 8 pakketjes zendvenster = 8 (max. 8 niet bevestigde pakketten)

ontvanger: wat als pakket niet correct ontvangen? volgende ook verwerpen?

Inhoud

1. Inleiding

2. Fysische laag

3. Dataverbindingslaag

4. Lokale Netwerken

5. Netwerklaag

6. Netwerken verbinden: internet

7. Transportlaag

8. Naamdiensten

9. Toepassingen

85

4. Lokale netwerken

4.1 Algemene Kenmerken

4.2 Ethernet Fysische Laag Werkingsprincipe (3 Regels) Pakket Layout Diensten

86

4.2 Algemene Kenmerken

Geografisch beperkt gebied Topologie:

geen afzonderlijke schakelaars / wel interfaceborden eenvoudige topologie: ring of bus

Hoge transmissiesnelheden: 10Mbit/s .. 100 Mbit/s Hoge kwaliteit: weinig fouten Gemeenschappelijk gebruikt kanaal

protocol voor toegang tot fysische kanaal alle pakketten door iedereen ontvangen

87

4.1 Algemene Kenmerken (verv.)

ringring

busbus

88

4.1 Algemene Kenmerken (verv.)

Gemeenschappelijk gebruikt kanaal:(vergelijk: kamer met mensen) gelijktijdige toegang mogelijk iedereen ontvangt elk pakket

89

4.1 Algemene Kenmerken (verv.)

Specifieke protocols: in dataverbindingslaag + fysische laag! netwerklaag: leeg (tenzij LANs verbonden)

Dataverbindingslaag LLC: Logical Link Control (gemeensch. LANs)

MAC: Medium Access Control verschillend voor elk soort LAN onbetrouwbaar transport van pakketten

90

4.1 Algemene Kenmerken (verv.)

LLC (vgl. Dataverbindingslaag in WANs) 2 soorten diensten:

virtuele verbinding (perfect kanaal) datagram dienst (geen garantie aflevering v.

pakket) LANs steeds datagram dienst

dataverbindingslaag

fysische laag

LLC

MAC

fysische laag

OSI ModelOSI Model Lokaal NetwerkLokaal Netwerk

91

4.2 Ethernet

IEEE 802.3 Busnetwerk Fysische Kabel (versch. alternatieven)

dunne coaxiale kabel (thin Ethernet)

gevlochten koperparen (twisted pair): meest flexibele bekabeling

dikke coaxiale kabel (thick Ethernet): verouderd

92

4.2 Ethernet Fysische Laag

3 soorten bekabeling:

93

4.2 Ethernet Fysische Laag

Elke computer: interface bord verbinding met coaxiale kabel

94

4.2 Ethernet Fysische Laag (verv.)

Pakket versturen: Signaal plant zich voort naar beide uiteinden

aansluitpunt computersysteemaansluitpunt computersysteemcoaxiale kabelcoaxiale kabel

signaalsignaal

95

4.2 Ethernet Fysische Laag (verv.)

2 Computers gelijktijdig versturen: elektrisch signaal gewijzigd geen van beide pakketten correct herkend BOTSING

(nog niet detecteerbaar door beide systemen)

botsingbotsing

96

4.2 Ethernet Fysische Laag (verv.)

Botsing:

hoort botsinghoort botsing weet nog niet dat weet nog niet dat

botsing opgetreden isbotsing opgetreden is

97

4.2 Ethernet Fysische Laag (verv.)

Enkele cijfers |kabel| = 1000 m 2 PCs nabij de twee uiteinden transmissiesnelheid = 10 Mbit/s |pakket| = 1kByte transmissiesnelheid (signaal) = 200.000 km/s

uitzenden pakket = 800 s bit (andere kant v/d kabel) = 5 s

98

4.2 Ethernet Fysische Laag (verv.)

Worst Case (detectie van botsing)

PC begint te zenden

na > 5 s: alle andere systemen op hoogte

andere PC begint net iets daarvoor te zenden

na > 10 s: eerste zender hoort botsing

(indien hij nog aan het zenden is!!! |pakket| )

99

4.2 Ethernet (verv.)Werkingsprincipe

Vergelijk: ruimte met # mensen geen moderator aanwezig

Stel: computer mag op elk ogenblik beginnen sturen

beide pakketten foutief ontvangen globale verlies = 800 s + 800 s = 1600 s < 18% v/d capaciteit benutten!

tijdtijd

11ee PC begint PC begint versturenversturen 22ee PC begint PC begint

versturenversturen800 800 ss

800 800 ss

100

4.2 Ethernet Werkingsprincipe (verv.)

Regel 1:

Begin pas te versturen als kabel vrij is(computer vangt geen signaal op)

Botsingen niet uitgesloten pas na 5 s signaal aan andere uiteinde

101

4.2 Ethernet (verv.)Werkingsprincipe

Toepassing van regel 1: Computer mag alleen starten indien kabel vrij is

beide pakketten foutief ontvangen globale verlies = 5 s + 800 s = 805 s < 36% v/d capaciteit benutten!

tijdtijd

11ee PC begint PC begint versturenversturen

22ee PC begint versturen PC begint versturen

800 800 ss

800 800 ss

102

4.2 Ethernet Werkingsprincipe (verv.)

Regel 2:

Blijf luisteren tijdens zenden

Stop zodra botsing vastgesteldZend kort stoorsignaal

Bla bla ...

103

4.2 Ethernet (verv.)Werkingsprincipe

Toepassing van regels 1 & 2: Computer mag alleen starten indien kabel vrij is Stop met zenden zodra botsing vastgesteld wordt

geen pakketten ontvangen globale verlies 5 s + 5 s 10 s Verlies (10 s) <<< tijd voor verzenden pakket (800 s)

tijdtijd

11ee PC begint versturen PC begint versturen

22ee PC begint PC begint versturenversturen

5 5 s s + ...+ ...

5 5 s s + ...+ ...

104

4.2 Ethernet Werkingsprincipe (verv.)

Regel 3:

Na botsing: wacht willekeurige tijd herhaalde botsingen: wachttijd neemt toe na 16 mislukkingen: faling melden

105

4.2 Ethernet Werkingsprincipe (verv.)

CSMA/CD MA Multiple Access CS Carrier Sense CD Collision Detect

Eigenschappen:

- belasting vertraging - geen garantie uitsturen- belasting tot 90% (real time systemen!?!) v/d capaciteit nuttig gebruikt - CD (door 2 systemen) indien |pakket| |pakket| 64 bytes

106

4.2 Ethernet (verv.)Pakket Layout

Elke verbindingskaart uniek (wereldwijd) adres = 6 bytes

“broadcast” adres naar alle aangesloten systemen

Hoofding - bestemmeling - afzender - ...Data

Controlesom

107

4.2 Ethernet (verv.)Diensten

MAC + LLC: datagram dienst voor netwerklaag

typedef struct{...} ethernet_adres; /* 6 byte adres */

typedef struct {...} info; /* data van de netwerklaag */

void zend_pakket (ethernet_adres naar, info data);

void ontvang_pakket (ethernet_adres *van, info *data);

108

4.2 Ethernet (verv.)Bekabeling

109

4.2 Ethernet (verv.)Hubs

Centraal opgestelde hubs Twisted pairs vanaf iedere werkplek naar hubs

(lengte < 100m) Gemeenschappelijk kanaal in hub (interne

werking principieel niet belangrijk) Signalen over twisted pair gestandaardiseerd

Resultaat: Eenvoudiger beheer Nieuwe varianten: fast Ethernet, geschakeld

Ethernet

110

4.2 Ethernet (verv.)Fast Ethernet

10 Mbps 100 Mbps 10 Mbps: 10s <> 800 s efficiënte werking 100 Mbps: 10s <> 80 s ??

Reductie lengte kabel: 2,5km 250m 10 Mbps + 1000m 100 Mbps + 100m

10 Mbps: 10s <> 800 s efficiënte werking 100 Mbps: 1s <> 80 s efficiënte werking

111

4.2 Ethernet (verv.)Geschakeld Ethernet

= hub + … bufferruimte voor inkomende pakketten per lijn Botsingvrij transport tussen buffers

= switch Ethernet?

Ja: zelfde standaard voor communicatie over lijnen Neen: werking

Nieuwe probleem: Naar welke buffer een pakket sturen?

Inhoud

1. Inleiding

2. Fysische laag

3. Dataverbindingslaag

4. Lokale Netwerken

5. Netwerklaag

6. Netwerken verbinden: internet

7. Transportlaag

8. Naamdiensten

9. Toepassingen

113

5. Netwerklaag

Dataverbindingslaag: communicatie tussen direct verbonden computersyst.

Netwerklaag: communicatie tussen verwijderde computersystemen

mogelijk maken

5.1 Diensten

5.2 Protocol

5.3 Routering

114

5. Netwerklaag (verv.)

S1

S2

AB

S4

S3

N

D

F

protocol protocol netw. netw. laaglaag

protocol protocol data. laagdata. laag

protocol protocol fys. laagfys. laag

netwerk

dataverb.

fysische

N

D

F

protocol protocol netw. netw. laaglaag

protocol protocol data. laagdata. laag

protocol protocol fys. laagfys. laag

netwerk

dataverb.

fysische

115

5.1 Diensten

2 soorten diensten: virtuele verbinding datagram dienst

geen garantie van aflevering• bijv. door falen van schakelaar

volgorde aflevering kan volgorde verzending• bijv. door volgen van andere route

Elk computersysteem: netwerkadres internationale standaarden

116

5.2 Diensten (verv.)

typedef struct{...} netwerk_adres;

typedef struct{...} info; /* data van de transportlaag */

void zend_pakket (netwerk_adres naar, info data);

void ontvang_pakket (netwerk_adres *van, info *data);

117

5.2 Protocol

Hier: alleen datagram dienst

NWL (Computer A, S1, S3): pakket over bepaalde verbinding sturen

Hoofding - netwerkadres bestemmeling - netwerkadres afzender - protocol transportlaag - ...Data van Transportlaag

118

5.3 Routering

Schakelaar: routeringstabel: per bestemming: uitgaande lijn

AA

BB

S4

S3

DD

FFEE

S1

CC

S2

00 11

2233

00

1122

33

00

1122

33

00

11 2233

nrnr SS11 SS22 SS33 SS44

AA 00 33 33 11BB 11 11 11 33CC 11 00 33 22DD 22 11 00 33EE 33 33 22 11FF 22 22 22 00

119

5.3 Routering (verv.)

AA

BBS4

S3

DD

FFEE

S1

CC

S2

00 11

2233

00

1122

33

00

1122

33

00

11 2233

nrnr SS11 SS22 SS33 SS44

AA 00 33 33 11BB 11 11 11 33CC 11 00 33 22DD 22 11 00 33EE 33 33 22 11FF 22 22 22 00

: A B: : A S1 (1) S2 (1) S3 (1) B

: F C: : F S4 (2) S2 (0) C

: E D: : E S1 (2) S4 (3) S3 (0) D

120

5.3 Routering (verv.)

Statische routering: tabellen ingevuld door netwerkbeheerder pakketten (X): dezelfde route uitvallen/overbelasting lijn/schakelaar

Routeringsprotocol schakelaars wisselen informatie uit (comp.syst.) kost van verbinding berekend

routes berekend

Inhoud

1. Inleiding

2. Fysische laag

3. Dataverbindingslaag

4. Lokale Netwerken

5. Netwerklaag

6. Netwerken verbinden: internet

7. Transportlaag

8. Naamdiensten

9. Toepassingen

122

6. Netwerken verbinden

Niet alle computersystemen op 1 netwerk:

bedrijf: volledige controle over eigen netwerk

toch kunnen communiceren met andere bedrijven

binnen organisatie: verschillende netwerken

vb. KULeuvenNet: elk departement eigen netwerk

Een internet (internetwork)

verbinden van verschillende netwerken

Internet = wereldwijde internet (IP protocol)

123

6. Netwerken verbinden (verv.)

5.1 Adressering

5.2 Diensten en Protocol

5.3 Routering

WAN-1WAN-1

WAN-2WAN-2 WAN-3WAN-3

LAN-1LAN-1

LAN-2LAN-2

R1R1

R2R2

R3

R4R4

R5R5

Schakelaars Schakelaars RiRi(routers)(routers)

124

6.1 Adressering

1 globaal, uniform adresseringsschema Internet:

adres = 32 bits 134.58.39.91 (dotted decimal)

verschillende soorten adressen

Omzetting Internet-adres Lokaal adres vertaaltabellen of vertaalprotocol

Netwerk ComputersysteemNetwerk Computersysteem

125

6.1 Adressering (verv.)

Voorbeelden:

134.58.39.91

134.58.0.0 KULeuvenNet

134.58.39.0 Netwerk van Comp.Wet.

Masker: scheiden van 2 delen van een adres

adres & masker = netwerk-gedeelte

126

6.2 Diensten en Protocol

Internet netwerklaag: alleen datagram dienst protocol = IP (Internet Protocol) 1 soort pakket

hoofding = 20 bytes

mogelijkheid om IP-pakket op te splitsen indien onmogelijk verder te sturen:

foutboodschap naar zender (ander protocol)

127

6.2 Diensten en Protocol (verv.)

Hoofding: (20 bytes):adres-zender 32 bits

adres-bestemmeling 32 bits

identificatie 16 bits

lengte 16 bits (max = 65.535)

protocol transportlaag 8 bits

time-to-live 8 bits (max # te passeren routers)

type-of-service 8 bits (verwachte dienstverlening)

overige … opsplitsing van IP pakket, afz. doorsturen,

later weer samenvoegen

… versie nummer, controle bits (hoofding), ...

128

6.3 Routering

Iedere router: routeringstabel

WAN-1WAN-1

WAN-2WAN-2 WAN-3WAN-3

LAN-1LAN-1

LAN-2LAN-2

R1R1

R2R2

R3

R4R4

R5R5

naarnaar R1R1 R2R2 R3R3 R4R4 R5R5

WAN-1WAN-1 -- -- R2R2 R1R1 R4R4WAN-2WAN-2 R2R2 -- -- R1R1 R3R3WAN-3WAN-3 R4R4 R3R3 -- -- --LAN-1LAN-1 -- R1R1 R4R4 -- R4R4LAN-2LAN-2 R4R4 R3R3 R5R5 R5R5 --

volgende router(op zelfde netwerk)op pad naar bestemm.

vaak verzuimingang: kortere tabel

129

6.3 Routering

WAN-1WAN-1

WAN-2WAN-2 WAN-3WAN-3

LAN-1LAN-1

LAN-2LAN-2

R1R1

R2R2

R3

R4R4

R5R5

naarnaar R1 R1 R2 R2 R3 R3 R4 R4 R5 R5

134.58.1.0134.58.1.0 - - - - 134.58.2.2134.58.2.2 134.58.11.1134.58.11.1

134.58.3.4134.58.3.4134.58.2.0 134.58.2.0 134.58.1.2134.58.1.2 - - - -134.58.11.1134.58.11.1 134.58.3.3134.58.3.3134.58.3.0 134.58.3.0 134.58.11.4134.58.11.4 134.58.2.3134.58.2.3 - - - - - -134.58.11.0 134.58.11.0 - - 134.58.1.1134.58.1.1 134.58.3.4134.58.3.4 - -134.58.3.4134.58.3.4134.58.12.0 134.58.12.0 134.58.11.4134.58.11.4 134.58.2.3134.58.2.3 134.58.3.5134.58.3.5134.58.3.5134.58.3.5 - -

134.58.1.0134.58.1.0

134.58.2.0134.58.2.0 134.58.3.0134.58.3.0

134.58.11.134.58.11.00

134.58.12.134.58.12.00

130

6.3 Routering (verv.)

Internet: ook routeringsprotocols op verschillende niveaus

binnen een AS (autonomous system):kortste pad tussen twee routers berekenen

• volgens metriek tussen AS-en:

ander protocol, eventueel ook beleidsopties• doorheen welk netwerk wel/niet

• mogelijkheid tot manueel uitsluiten van netwerken

Inhoud

1. Inleiding

2. Fysische laag

3. Dataverbindingslaag

4. Lokale Netwerken

5. Netwerklaag

6. Netwerken verbinden: internet

7. Transportlaag

8. Naamdiensten

9. Toepassingen

132

7. Transportlaag

Transportlaag in Internet TCP (Transmission Control Protocol) UDP (Universal Datagram Protocol)

7.1 Adressering

7.2 TCP Protocol en Diensten

7.3 UDP Protocol en Diensten

133

7.1 Adressering

Communicatie-eindpunt van proces:(IP-adres, poortnummer)

TCP / UDP Hoofding: alleen poortnummer IP-adres in IP-hoofding

Standaard Toepassingen: vaste poortnummers

(www-server, 80), (ftp-server, 21), … Andere toepassingen: dyn. aanvragen

134

7.2 TCP Protocol & Diensten

Virtuele verbinding tussen eindpunten(netwerk alleen datagram diensten!)

3 Fasen: opzetten van verbinding gebruik v/d verbinding

vgl. protocols dataverbindingslaag complexer!

• volgorde aankomst van pakketten• 1-bit venster te beperkend op snelheid

byte stroom (elke byte 32-bit volgnummer) verbreken v/d verbinding

TCP hoofding

volgnummer1e byte in pakket

135

7.3 UDP Protocol & Diensten

Datagram dienst tussen eindpunten Datagram dienst van IP

Inhoud

1. Inleiding

2. Fysische laag

3. Dataverbindingslaag

4. Lokale Netwerken

5. Netwerklaag

6. Netwerken verbinden: internet

7. Transportlaag

8. Naamdiensten

9. Toepassingen

137

8. Naamdiensten

IP-adresssen niet gebruiksvriendelijk

leesbare namen

telnet 134.58.42.36

telnet nix.cs.kuleuven.ac.be

8.1 Domeinnamen

8.2 Omzetting Domeinnamen naar IP adressen

138

8.1 Domeinnamen

Internet domeinnamen hiërarchisch gestructureerd

nix.cs.kuleuven.ac.be

landcode (België)

univ. (academic)

K.U.Leuven

dep. computerwetenschappen

naam van het computersysteem

139

8.1 Domeinnamen (verv.)

3 groepen Top Level Domains (TLD) 2-letter landcodes (ISO 3166) generieke namen (gelijkaardige organisaties)

com commerciële organisaties org niet-commerciële organisaties (bv. Vzw) int internationale organisaties (nato, EU, …) net bedrijven die netwerkdiensten aanbieden Nieuwe: info, biz, name, aero, museum,...

namen (organisaties binnen USA) edu universiteiten gov Amerikaanse overheid mil Amerikaanse leger

140

8.1 Domeinnamen (verv.)

Elk TLD: beheerder (toekennen van namen in domein) “be”: dept. Computerwetenschappen tot jan 2000

nu: vzw DNS BE (ispa, agoria, beltug) Elke organisatie met naam:

zelf creatie nieuwe namen in dat domein bijv. kuleuven.ac.be en kulak.ac.be

Hiërarchische naamgeving + delegatie= werkbare structuur

141

8.2 Omzetting Domeinnaam IP Adres

Gegevensbank niet gecentraliseerd (flessehals!) naambeheerder (name server)

omzetting domeinnaam IP-adres hiërarchie van naambeheerders

ieder domein: aparte naambeheerder

142

8.2 Omzetting Domeinnaam IP Adres (verv.)

Naambeheerder cs.kuleuven.ac.be

Machines/subdomeinenMachines/subdomeinen typetype IP-adresIP-adresvan cs.kuleuven.ac.bevan cs.kuleuven.ac.be

nixnix AA 134.58.42.36134.58.42.36

idefixidefix AA 134.58.41.7134.58.41.7

droopydroopy AA 134.58.41.10134.58.41.10

stevinstevin AA 134.58.41.16134.58.41.16

......

A = AddressA = Address

143

8.2 Omzetting Domeinnaam IP Adres (verv.)

Naambeheerder kuleuven.ac.be

Machines/subdomeinenMachines/subdomeinen typetype IP-adresIP-adresvan kuleuven.ac.bevan kuleuven.ac.be

cscs NSNS 134.58.39.1134.58.39.1

esatesat NSNS ……

wwwwww AA ……

......

NS = NameServerNS = NameServer

144

8.2 Omzetting Domeinnaam IP Adres (verv.)

Naambeheerder voor TLD-namen = root-naambeheerder gekend IP-adres alleen verwijzingen naar andere naambeheerders

145

8.2 Omzetting Domeinnaam IP Adres (verv.)

Example : www.cs.vu.nl

Lokale NSLokale NS

(cs.kuleuven.ac.be(cs.kuleuven.ac.be))

www.cs.vu.www.cs.vu.nlnl

Root-NSRoot-NS

NS (nl)NS (nl)

NS (vu.nl)NS (vu.nl)

NS (cs.vu.nl)NS (cs.vu.nl)130.37.24.1130.37.24.111

130.37.24.1130.37.24.111

146

8.2 Omzetting Domeinnaam IP Adres (verv.)

Omslachtig? Naambeheerders: “cache” Gedurende zekere tijd opgezochte namen

opslaan

Kwetsbaar? Naambeheerder kan uitvallen Voor elk domein: meerdere naambeheerders

Inhoud

1. Inleiding

2. Fysische laag

3. Dataverbindingslaag

4. Lokale Netwerken

5. Netwerklaag

6. Netwerken verbinden: internet

7. Transportlaag

8. Naamdiensten

9. Toepassingen

148

9. Toepassingen

E-Mail E-mailadressen E-mail E-mailprogramma’s E-mailservers

World Wide Web URL Componenten Opbouw van pagina’s

149

9.1 E-mail

E-mail adressen

pv@cs.kuleuven.ac.be

Pierre.Verbaeten@cs.kuleuven.ac.be

nachtradio@vrt.be

na @: domeinnaam

voor @: loginnaam, Voornaam.Naam, groepsnaam

150

9.1 E-mail (vervolg)

E-mailprogramma’s vaak grafische gebruikersinterface functionaliteit:

ontvangen & lezen van berichten (receive) opstellen & versturen van berichten (send) beantwoorden van berichten (reply) doorsturen van berichten (forward) organiseren van berichten (folder) bijhouden van adressenbestand (addressbook)

vb: Netscape, Exchange, Eudora, pine, elm, ...

151

9.1 E-mail (vervolg)

E-mailprogramma’s: Netscape

152

9.1 E-mail (vervolg)

E-mail hoofding

SleutelWoord: waardeFrom: afzenderTo: bestemmelingCc: kopie naar …Subject: onderwerp dat besproken wordtDate: datum + tijd waarop verstuurd werd...

blanko lijn Boodschap zelf

153

9.1 E-mail (vervolg)

E-mailservers sturen / ontvangen van boodschappen

E-mailprogr.

E-mailserver E-mailserver

E-mailprogr.

POPPOP

SMTPSMTP

IMAPIMAPSMTPSMTP Simple Mail Transfer ProtocolSimple Mail Transfer Protocol

POPPOP Post Office ProtocolPost Office Protocol

IMAPIMAP Internet Mail Access ProtocolInternet Mail Access Protocol

154

9.1 E-mail (vervolg)

E-mailservers Internet: steeds SMTP vinden van andere E-mailserver?

Naambeheerders• domeinnaam: IP-adres waarop E-mailserver draait

Poortnummer = 25

155

9.2 World Wide Web

Zie cursus Informaticawerktuigen

Hypertext URL (Uniform Resource Locator) Browser HTTP (HyperText Transfer Protocol) WebServer HTML (HyperText Markup Language)

156

Hypertekst

Hypertekst… (meer info)…

Een link is ……Meer informatie kan je hier vinden (Engels).

Links … hypertekst…

HypertextHypertext allows a document to …

Computer A Computer B

Hypertekst bevat verwijzingen naar andere documenten

157

URL — Uniform Resource Location

Absoluut of relatief

Absoluut:

http://www.bib.kuleuven.ac.be/bib/deelbib/indexexact.html

http://www.bib.kuleuven.ac.be/bib/deelbib/indexexact.html

protocol computer details (padnaam)

Protocol: http (web-pagina) - mailto (elektronische post) ftp (file transfer protocol) - news (USENET nieuwsgroep) file (loaal bestand) - gopher, wais, shttp, telnet, ...

158

URL (vervolg)

Computer:

DNS-naam (Web-site)

optioneel

//domein.naam:poortnummer

Details:

padnaam

e-mail adres (mailto)

URL#naam

#naam: plaats in een pagina (i.p.v. het begin)

159

URL (voorbeelden)

http://www.kuleuven.ac.be/kuleuven/news_nl.html

http://www.demo.com/pub/index.html#TOC

/pub/README

ftp://ftp.simtel.com/simtelnet/win95

telnet://pluto.cs.kuleuven.ac.be

file:/user/rik/IW/practicum1

mailto:Bill.Clinton@whitehouse.gov

news:be.politics

160

Web Browser

Web pagina ophalen + tonen

Populaire Browsers: Netscape Navigator Microsoft Internet Explorer HotJava (Sun) …

HTTP Protocol + ... ftp e-mail news telnet gopher, ...

161

HTTP

Hypertext Transfer Protocol

http://www.netvision.be/nv_jobs/index.html

cliëntdienst-verle-ner

GET /nv_jobs/index.html GET /nv_jobs/index.html HTTP/1.0HTTP/1.0

200200

www.netvision.bewww.netvision.be

162

Web Server

Beheert lokale Web-pagina’s vaak sub-boom van lokaal bestandensysteem

Taken: geen visualisatie!

aanvragen browsers/servers beantwoorden

beveiliging

caching

Meestal boven: Unix of Windows NT

163

HTML — Hypertext Markup Language

Web-pagina om even wat: tekst (ascii), Word-document, rekenblad,

foto, ... browser: visualiseren ! standaard-formaat: HTML

Hypertext tekst met verwijzingen naar andere teksten

Markup: code (instructies) die structuur weergeven van document

Andere formaten: hulp-programma’s of plug-ins of kopiëren

164

HTML (voorbeeld)

<HTML>

<HEAD>

<TITLE>Netwerken</TITLE>

</HEAD>

<BODY>

<H1>Computernetwerken</H1>

<H2>1. Inleiding</H2>

Gedurende de laatste 10 jaar is de computerinfrastructuur in bedrijven <B>grondig</B> gewijzigd. …

<P>In dit hoofdstuk bestuderen we het netwerk, ...

</BODY>

</HTML>