De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

SOCS Hoofdstuk 5 Computernetwerken. Inhoud 1.Inleiding 2.Fysische Laag 3.Dataverbindingslaag 4.Lokale Netwerken 5.Netwerklaag 6.Netwerken verbinden: internet.

Verwante presentaties


Presentatie over: "SOCS Hoofdstuk 5 Computernetwerken. Inhoud 1.Inleiding 2.Fysische Laag 3.Dataverbindingslaag 4.Lokale Netwerken 5.Netwerklaag 6.Netwerken verbinden: internet."— Transcript van de presentatie:

1 SOCS Hoofdstuk 5 Computernetwerken

2 Inhoud 1.Inleiding 2.Fysische Laag 3.Dataverbindingslaag 4.Lokale Netwerken 5.Netwerklaag 6.Netwerken verbinden: internet 7.Transportlaag 8.Naamdiensten 9.Toepassingen 

3 3 3. Dataverbindingslaag Hoofdopdracht: realiseren v. betrouwbaar kanaal Beperkingen:  Mogelijk:  verwerkingssnelheid   Geen voorz. om systemen te synchroniseren Fysische laag: bits oversturen (onbetrouwbaar) Fysische Laag

4 4 3. Dataverbindingslaag (verv.) Inhoud 3.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

5 5 3.1 Taken M.O.: sommige taken door HW, andere door SW Afbaken van pakketjes  begin & einde herkennen  vb. bitpatroon:  kan ook in pakket voorkomen! (0 inlassen na vijf 1-bits)

6 6 3.1 Taken (verv.) Detectie van fouten  Zender: controlebits toevoegen aan pakket  Ontvanger: nagaan of correct ontvangen  Bijvoorbeeld  Pariteitsbit (on)even pariteit: # 1-bits in pakket is (on)even  CRC (Cyclic Redundancy Check) fouten van meerdere bits detecteren  Indien fout:  opnieuw zenden  Duplicaten herkennen (bij heruitzending)  Hoofding met volgnummer 1 (oneven)  Oneven bit fouten detecteren   

7 7 3.1 Taken (verv.) Stroombeheersing  Flow control   Snelle zender overspoelt trage ontvanger   Ontvanger: expliciete/impliciete toelating om volgend pakket te sturen Pakket Layout HW Hoofding Data Beginpatroon Eindpatroon Controlesom v. Netwerklaag

8 8 3.2 Algoritmes en protocols typedef struct {... } data_van_netwerklaag; typedef struct { int nr; /* veld van hoofding */ data_van_netwerklaag info; } pakket ; nr Info int data_van_netwerklaag pakket struct  java klasse zonder methodes

9 9 3.2 Algoritmes en protocols (verv.) void ontvang_van_netwerklaag (data_van_netwerklaag * dw); /* na oproep bevat *dw informatie die voor netwerklaag moet verstuurd worden */ /* na oproep bevat *dw informatie die voor netwerklaag moet verstuurd worden */ void geef_aan_netwerklaag (data_van_netwerklaag d); /* data in ontvangen pakket wordt doorgegeven aan netwerklaag */ /* data in ontvangen pakket wordt doorgegeven aan netwerklaag */ dw d data_van_netwerklaag

10 Algoritmes en protocols (verv.) void verzend_pakket (pakket p); /* p wordt voor verzending doorgegeven aan fysische laag */ /* p wordt voor verzending doorgegeven aan fysische laag */ void ontvang_pakket (pakket * pw); /* ontvang pakket p van de fysische laag */ /* ontvang pakket p van de fysische laag */ nr Info int data_van_netwerklaag pw p

11 Algoritmes en protocols (verv.) 1 zender & 1 ontvanger 1-richting communicatie NWL (zender): onbeperkte hoeveelheid gegevens NWL (ontvanger): onbeperkte hoev. bufferruimte Fysische Laag DVL (zender)DVL (ontvanger)verzend_pakketgeef_aan_netwerklaag ontvang_van_netwerklaagontvang_pakket

12 Protocol 1: geen fouten, geen stroombeheersing Algoritme zender data_van_netwerklaag dnl; pakket p; while (1) { ontvang_van_netwerklaag(&dnl); p.info = dnl; verzend_pakket(p);} Algoritme ontvanger pakket p; while(1) { ontvang_pakket(&p);geef_aan_netwerklaag(p.info);} nr Info int data_van_netwerklaag pakket

13 Protocol 1: geen fouten, geen stroombeheersing (verv.) zenderontvanger tijd Vertraging ts zenden en ontvangen Zender kan onbeperkt zenden

14 Protocol 1: geen fouten, geen stroombeheersing (verv.) Zender kan onbeperkt zenden...

15 Protocol 2: geen fouten, wel stroombeheersing Algoritme zender data_van_netwerklaag dnl; pakket p, t; while (1) { ontvang_van_netwerklaag(&dnl); p.info = dnl; verzend_pakket(p);ontvang_pakket(&t);} Algoritme ontvanger pakket p, t; while(1) { ontvang_pakket(&p);geef_aan_netwerklaag(p.info);verzend_pakket(t);}, t

16 Protocol 2: geen fouten, wel stroombeheersing (verv.) zenderontvanger tijd Ontvanger geeft expliciet toestemming voor sturen van volgend pakket

17 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

18 18 zenderontvanger Impasse!!! Ontvanger (alg. 2)... while(1) { ontvang_pakket(&p);geef_aan_netwerklaag(p.info);verzend_pakket(t);} Zender (alg. 2) … while (1) { ontvang_van_netwerklaag(&dnl); p.info = dnl; verzend_pakket(p);ontvang_pakket(&t);} verzend_pakket(p); ontvang_pakket(&t); ontvang_pakket(&p); 3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)

19 Protocol 3: fouten mogelijk, stroombeheersing (verv.)zenderontvanger wekker P0P0 P1P1 P1P1 P2P2 P 0. info P 1. info P 2. info

20 Protocol 3: fouten mogelijk, stroombeheersing (verv.)zenderontvanger wekker P2P2 P 2. info P2P2Duplicaat!!! Pakketten nummeren onderscheid: nieuw  heruitzending 1-bit nummer volstaat

21 Protocol 3: fouten mogelijk, stroombeheersing (verv.) Zender:  Na zetten van wekker: 2 gebeurtenissen mogelijk  Wekker loopt af  Aankomst van een pakket int wacht_op_gebeurtenis(); geb = wacht_op_gebeurtenis(); /* geb == AANKOMST of geb == WEKKER */

22 22 ontvang_van_netwerklaag(&dnl); 3.5 Protocol 2: geen fouten, stroombeheersing (verv.) Algoritme Zender data_van_netwerklaag dnl; pakket p, t; ontvang_van_netwerklaag(&dnl); while (1) { p.info = dnl; verzend_pakket(p); ontvang_pakket(&t); ontvang_van_netwerklaag (&dnl); }

23 Protocol 3: fouten mogelijk, stroombeheersing (verv.) Algoritme Zender data_van_netwerklaag dnl; pakket p, t; volgend_volgnummer = 0; ontvang_van_netwerklaag(&dnl); while (1) { p.nr = volgend_volgnummer; p.info = dnl; verzend_pakket(p); start_wekker(); geb = wacht_op_gebeurtenis(); int volgend_volgnummer; gebeurtenis geb; if (geb == AANKOMST) { stop_wekker(); ontvang_pakket(&t); ontvang_van_netwerklaag (&dnl); volgend_volgnummer = 1 – volgend_volgnummer; } }

24 Protocol 3: fouten mogelijk, stroombeheersing (verv.) Algoritme ontvanger pakket p, t; verwacht_volgnummer = 0; while(1) { ontvang_pakket(&p); if (p.nr == verwacht_volgnummer) { geef_aan_netwerklaag(p.info); verwacht_volgnummer = 1 - verwacht_volgnummer; } verzend_pakket(t); } int verwacht_volgnummer; /* steeds nodig, ook als duplicaat ontvangen is */

25 Protocol 3: Correct??? (verv.)zenderontvangerzenderontvanger  I0 I0 duplicaat  I4 I4  I1 I1 beschouwd als duplicaat I0I0 0 I1I1 1 I1I1 1 I2I2 0 I3I3 1 I4I4 0 traag! wekker infonrLegende: traag! Verkeerde interpretatie (van toelating) Afgeleverd aan NWL: I0, I1, I4

26 Protocol 4: 1-bit venster protocol 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)

27 Protocol 4: 1-bit venster protocol (verv.) Algoritme Zender data_van_netwerklaag dnl; pakket p, ack; volgend_volgnummer = 0; ontvang_van_netwerklaag(&dnl); while (1) { p.nr = volgend_volgnummer; p.info = dnl; verzend_pakket(p); start_wekker(); geb = wacht_op_gebeurtenis(); int volgend_volgnummer; gebeurtenis geb; if (geb == AANKOMST) { stop_wekker(); ontvang_pakket(&ack); if (ack.nr == p.nr) { ontvang_van_netwerklaag (&dnl); volgend_volgnummer = 1 – volgend_volgnummer; } } }

28 Protocol 4: 1-bit venster protocol (verv.) Algoritme ontvanger pakket p, ack; int verwacht_volgnummer; verwacht_volgnummer = 0; while(1) { ontvang_pakket(&p); if (p.nr == verwacht_volgnummer) { geef_aan_netwerklaag(p.info); verwacht_volgnummer = 1 - verwacht_volgnummer; } ack.nr = p.nr; verzend_pakket(ack); }

29 Protocol 4: Correct??? (verv.)zenderontvangerzenderontvanger  I0 I0 duplicaat  I3 I3  I1 I1 I0I0 0 I1I1 1 I1I1 1 I2I2 0 I2I2 0 I3I3 1 traag! wekker infonrLegende: traag!  I2 I2 Afgeleverd aan NWL: I0, I1, I2, I3

30 Uitbreidingen Beperking protocol 4:  Als propagatietijd signaal  onefficiënt gebruik van communicatiekanaal  Bijv. Satellietverbinding

31 Uitbreidingen (verv.) km km/s bits/s 8000 bits

32 Uitbreidingen (verv.) 0 ms 125 ms 180 ms 360 ms 485 ms 845 ms 8000 bits  bps km  km/s km  km/s

33 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?

34 Inhoud 1.Inleiding 2.Fysische Laag 3.Dataverbindingslaag 4.Lokale Netwerken 5.Netwerklaag 6.Netwerken verbinden: internet 7.Transportlaag 8.Naamdiensten 9.Toepassingen 

35 35 4. Lokale netwerken 4.1Algemene Kenmerken 4.2Ethernet  Fysische Laag  Werkingsprincipe (3 Regels)  Pakket Layout  Diensten

36 Algemene Kenmerken Geografisch beperkt gebied Topologie:  Geen afzonderlijke schakelaars / wel interfaceborden  Eenvoudige topologie: ring of bus Hoge transmissiesnelheden: 10Mbit/s.. 1Gbit/s Hoge kwaliteit: weinig fouten Gemeenschappelijk gebruikt kanaal  Protocol voor toegang tot fysische kanaal  Alle pakketten door iedereen ontvangen

37 Algemene Kenmerken (verv.) ring bus

38 Algemene Kenmerken (verv.) Gemeenschappelijk gebruikt kanaal: (vergelijk: kamer met mensen)  Gelijktijdige toegang mogelijk  Iedereen ontvangt elk pakket

39 Algemene Kenmerken (verv.) Specifieke protocols:  In dataverbindingslaag + fysische laag!  Netwerklaag: leeg (tenzij LANs verbonden) Dataverbindingslaag + stukje Fys. Laag  LLC: Logical Link Control (gemeensch. LANs)  MAC: Medium Access Control  Verschillend voor elk soort LAN  Onbetrouwbaar transport van pakketten

40 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 Model Lokaal Netwerk

41 Ethernet IEEE Busnetwerk Fysische Kabel (versch. alternatieven)  Dunne coaxiale kabel (thin Ethernet)  Dikke coaxiale kabel (thick Ethernet)  Gevlochten koperparen (UTP)  Glasvezel ……

42 Ethernet Fysische Laag Elke computer: interface bord  Verbinding met coaxiale kabel

43 Ethernet Fysische Laag (verv.) Pakket versturen:  Signaal plant zich voort naar beide uiteinden aansluitpunt computersysteem coaxiale kabel signaal

44 Ethernet Fysische Laag (verv.) 2 Computers gelijktijdig versturen:  Elektrisch signaal gewijzigd  Geen van beide pakketten correct herkend  BOTSING botsing (nog niet detecteerbaar door beide systemen)

45 Ethernet Fysische Laag (verv.) Botsing: hoort botsing weet nog niet dat botsing opgetreden is

46 Ethernet Fysische Laag (verv.) Enkele cijfers  | kabel | = 1000 m  2 PCs nabij de twee uiteinden  transmissiesnelheid = 10 Mbit/s  | pakket | = 1kByte  propagatiesnelheid (signaal) = km/s  uitzenden pakket =  bit (andere kant v/d kabel) = 800  s 5  s

47 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|  )

48 Ethernet (verv.) Werkingsprincipe Vergelijk:  Ruimte met # mensen  Geen moderator aanwezig Stel: computer mag op elk ogenblik beginnen sturentijd 1 e PC begint versturen 2 e PC begint versturen 800  s  Beide pakketten foutief ontvangen  Globale verlies = 800  s  s = 1600  s  Maximaal < 18% v/d capaciteit benutten!

49 Ethernet Werkingsprincipe (verv.) Regel 1 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

50 Ethernet Werkingsprincipe (verv.) Regel 2 Regel 2:  Blijf luisteren tijdens zenden Bla bla...  Stop zodra botsing vastgesteld  Zend kort stoorsignaal

51 Ethernet Werkingsprincipe (verv.) Regel 3 Regel 3 :  Na botsing: wacht willekeurige tijd  Herhaalde botsingen: wachttijd neemt toe  Na 16 mislukkingen: faling melden

52 Ethernet Werkingsprincipe (verv.) CSMA/CD CSMA/CD MAMultiple AccessGelijktijdige toegang CSCarrier SenseIn gebruik of draaggolf CDCollision DetectBotsingen detecteren Eigenschappen:   belasting   vertraging   belasting   tot 90% v/d capaciteit nuttig gebruikt indien |pakket|   Geen garantie uitsturen (real time systemen!?!)  CD (door 2 systemen) |pakket|  64 bytes

53 Ethernet (verv.) Pakket Layout Elke verbindingskaart  uniek (wereldwijd) adres = 6 bytes  “broadcast” adres  naar alle aangesloten systemen Hoofding - bestemmeling - afzender -... Data Controlesom

54 Ethernet (verv.) Diensten MAC + LLC:  Datagram dienst voor netwerklaag typedef struct {... } ethernet_adres; /* 6 byte adres */ typedef struct {... } info; /* data van de netwerklaag */ zend_pakket procedure zend_pakket (ethernet_adres bestemmeling, info data); ontvang_pakket procedure ontvang_pakket (ethernet_adres * afzender, info *data);

55 Ethernet (verv.) Moderne Bekabeling & Hubs Coaxiale kabels   verplaatsen = arbeidsintensief Gevlochten koperparen  Max lengte: 100 – 150 m + Hub of Switch  Sterconfiguratie  Hub: Stuurt signaal over alle koperparen  Switch: Stuurt signaal over 1 koperpaar Fast Ethernet: 100 Mbps (zelfde pakketlengte) Gigabit Ethernet

56 Ethernet (verv.) Moderne Bekabeling & Hubs HUB

57 Ethernet (verv.) Moderne Bekabeling & Hubs SWITCH Bufferruimte  minder botsingen Leert bestemmingen kennen  verdersturen over 1 verbinding buffers A B C D naar:A van: C Blablabla Lijn1: A Lijn2: B Lijn3: C

58 58 Cursustekst Hoofdstuk 5: pag. 24  pag. 42


Download ppt "SOCS Hoofdstuk 5 Computernetwerken. Inhoud 1.Inleiding 2.Fysische Laag 3.Dataverbindingslaag 4.Lokale Netwerken 5.Netwerklaag 6.Netwerken verbinden: internet."

Verwante presentaties


Ads door Google