Communicatie tussen Computers Deel I : Cowley H. 1, 2, 3 Peter van Kranenburg
Intro Doel: begrijpen van computernetwerken Computer-Computer communicatie Tamelijk onafhankelijk onderdeel binnen IUW Vier hoorcolleges Stof: Boek John Cowley H. 1 t/m 8 + hoorcollege Toetsing: eindtoets 30 januari 2018
Intro Het is een introductie-college: weinig over veel Je hoeft niet van alle genoemde technologieën in detail te weten hoe ze werken Maar wel de uitgangspunten en basisprincipes Het boek is compact geschreven. Niet veel bladzijden, maar er staat veel in Je moet het bestuderen Je hoeft geen afkortingen te kennen (mag wel) Het helpt om verder te zoeken (Wikipedia is een bruikbare bron voor extra informatie)
Intro di 9/1 : Hoofdstuk 1, 2, 3 Basis, Lagen, Fysiek do 11/1 : Hoofdstuk 4, 5 LAN, WAN di 16/1 : Hoofdstuk 6, Internet Protocollen di 23/1 : Hoofdstuk 7, 8 Applicatie, Security
Vandaag Netwerken - basisbegrippen Netwerkmodellen (lagen) Dataoverdracht Signalen Codering Switching
Vandaag Netwerken - basisbegrippen Netwerkmodellen (lagen) Dataoverdracht Signalen Codering Switching
Waarom netwerken? Delen van hardware, software applicaties en data files. Communicatie mogelijk zoals email, whatsapp,
Wat is een netwerk? Een netwerk is een samenhangend geheel van entiteiten en verbindingen tussen die entiteiten.
Wat is een computernetwerk? Een computernetwerk bestaat uit een aantal onderling verbonden, autonome computers (entiteiten). Verbonden : computers kunnen informatie naar elkaar verzenden. Autonoom : ieder computersysteem heeft zijn eigen besturingssysteem (OS) en kan onafhankelijk acteren.
Netwerktypes Netwerken worden geclassificeerd naar geografische omvang LAN: Local Area Network Klein geografisch gebied (één of enkele gebouwen) Meestal binnen een organisatie Meestal hoge data-transfer rate WLAN: Wireless LAN
Netwerktypes WAN: Wide Area Network Verbinding over grotere afstanden (soms wereldwijd) Verbinding van LANs Lange-afstandsverbindingen verzorgd door telecombedrijven
Netwerktypes MAN: Metropolitan Area Network Omvat een gebied maximaal ter grootte van een metropool Verbinding tussen LANs HAN: Home Area Network: Netwerk in een huishouden PAN: Personal Area Network Netwerk rondom een persoon (bluetooth, smartphones, e.d.) PAN HAN LAN MAN WAN
Netwerktopologie Bus Ring Mesh Tree Star
Protocol Regels volgens welke de communicatie plaatsvindt Zender en ontvanger moeten hetzelfde protocol gebruiken
Netwerkstandaarden Formele standaarden, propriëtaire standaarden, de facto standaarden Er zijn veel standaardlichamen m.b.t. computernetwerken en telecommunicatie Institute of Electrical & Electronics Engineers (IEEE) (Ethernet) Internet Engineering Task Force (IETF) (Internet) American National Standards Institute (ANSI) (US standaarden) International Organisation for Standardisation (ISO) (netwerk van organisaties) World Wide Web Consortium (W3C) (HTML, XML,...)
Wat is communicatie? Hier: model naar Shannon (1948): BRON ZENDER KANAAL ONTVAN- GER BESTEM- MING RUIS BERICHT (INFORMATIE) C.E. Shannon (1948). A Mathematical Theory of Communication. The Bell System Technical Journal, 27, 379 423, 623 656.
Wat is communicatie? Bron: Genereert een bericht Zender: Maakt het bericht geschikt voor transmissie over het kanaal Kanaal: Transmissiemedium Ontvanger: Omgekeerde van Zender: Reconstrueert het bericht Bestemming: Mens (of ding) voor wie het bericht is bedoeld
Wat is communicatie? Bron: Mens of softwareproces Zender: Verzendende computer of netwerkapparaat Kanaal: Transmissiemedium (koperdraad, lucht, glas, ) Ontvanger: Ontvangende computer of netwerkapparaat Bestemming: Mens (of proces) voor wie de boodschap is bedoeld
Geslaagde communicatie Wat zijn voorwaarden voor geslaagde communicatie? Bron heeft een duidelijke bedoeling Bron slaagt in het vertalen van die bedoeling naar een bericht Zender slaagt in transformatie van het bericht Er bestaat een (fysieke) verbinding (kanaal) Zender slaagt in het uitzenden van het bericht over het kanaal Het kanaal is in staat het bericht over te brengen De ontvanger slaagt in het ontvangen van het bericht De ontvanger slaagt in de reconstructie van het bericht De bestemming begrijpt de bedoeling
Vandaag Netwerken - basisbegrippen Netwerkmodellen (lagen) Dataoverdracht Signalen Codering Switching
Gelaagde communicatie Observatie: Er is een gelaagdheid in dit model: Bron en bestemming hoeven niet per se de details van zender, kanaal en ontvanger te weten. Het kanaal hoeft niets te weten van bron en bestemming. BRON BESTEM- MING ZENDER ONTVAN- GER KANAAL Het bericht ondergaat steeds een transformatie bij een overgang naar een andere laag.
Gelaagde Netwerkmodellen De meeste netwerken zijn georganiseerd als een gelaagde structuur: hiërarchie van taken Lagere lagen bieden functionaliteit aan de hogere lagen Op de onderste laag bevindt zich de fysieke communicatie Op hogere lagen: abstractie van lagere lagen virtuele communicatie Bron Bestemming 7 7 Applicatio 6 6 n Applicatio n5 5 4 Internet 4 Internet 3 3 2 2 1 1 Fysiek Netwerk Medium
Gelaagde Netwerkmodellen Een laag schermt een hogere laag af van overbodige details Hogere lagen hebben lagere lagen nodig Communicatie tussen machines speelt zich af op het niveau van de laag (peer proces) Communicatie op een bepaalde laag gaat volgens aantal regels en conventies (gemeenschappelijk protocol) Bron Bestemming 7 7 Applicatio 6 6 n Applicatio n5 5 4 Internet 4 Internet 3 3 2 2 1 1 Fysiek Netwerk Medium
Gelaagde Netwerkmodellen Voordelen: Flexibel en Minder Complex Flexibel: De functionaliteit van een laag kan veranderd worden zonder dat de andere lagen er last van hebben (bijvoorbeeld: kabel vervangen door draadloze verbinding) Minder complex: door verschillende aspecten van de communicatie onafhankelijk van elkaar te maken, kunnen we ontwerp, implementatie, configuratie en gebruik beter overzien. Voor elke technologie is focus op slechts één laag nodig. Leidt tot minder fouten. Bron Bestemming 7 7 Applicatio 6 6 n Applicatio n5 5 4 Internet 4 Internet 3 3 2 2 1 1 Fysiek Netwerk Medium
OSI 7-Laags Netwerkmodel (1984) Open Systems Interconnection Internationale Organisatie voor Standaardisatie (ISO) Voor praktische implementatie is het model achterhaald. Doel: Referentie voor netwerkarchitectuur t.b.v. compatibiliteit Belangrijk als referentie: nadenken en praten over computernetwerken. Elk van de zeven lagen omvat een bepaald type netwerkfunctionaliteit Bron Bestemming 7: Applicatie 7: Applicatie Applicatio 6: Presentatie 6: Presentatie n 5: Applicatio Sessie n 5: Sessie 4: Transport 4: Transport Internet 3: Netwerk Internet 3: Netwerk 2: Data Link 2: Data Link 1: Fysiek 1: Fysiek
Fysieke laag (OSI 1) Fysiek transport van bits over een fysiek kanaal Concrete apparaten Connectoren, pinnen, antennes Fysieke signalen Fysieke representatie van enen en nullen (bijv. voltages, energiedrager, lengte van bits, ) OSI Lagen 7: Applicatie 6: Presentatie 5: Applicatio Sessie n 4: Transport 3: Netwerk Internet 2: Data Link 1: Fysiek
Datalinklaag (OSI 2) Zorgt voor overdracht van data over de fysieke laag. Afhandeling van fouten van de fysieke laag Organisatie van data in frames ACKs en NAKs Flow control Aanpassen bit rate afhankelijk van beschikbare bufferruimte in de ontvanger Bijv. High-level Data Link Control (HDLC) protocol (zie sectie 6.3), Ethernet, SLIP, PPP, etc. OSI Lagen 7: Applicatie 6: Presentatie 5: Applicatio Sessie n 4: Transport 3: Netwerk Internet 2: Data Link 1: Fysiek
Netwerklaag (OSI 3) Maakt hogere lagen onafhankelijk van de gebruikte fysieke technologie Maakt communicatie tussen computers op verschillende LANs (met elk hun eigen data-link protocol) mogelijk Verantwoordelijk voor packets en routing opsplitsen van boodschap in packets toevoegen bron- en bestemmingsadres een pad vinden door het (inter)netwerk (routing) Bijv.: Internet Protocol (IP) (Zie sectie 6.1) OSI Lagen 7: Applicatie 6: Presentatie 5: Applicatio Sessie n 4: Transport 3: Netwerk Internet 2: Data Link 1: Fysiek
Transportlaag (OSI 4) Zorgt voor verbinding tussen verschillende hosts (computers van eindgebruikers); zorgt ervoor dat er gecommuniceerd kan worden Schermt bovenlagen af voor de karakteristieken van het gebruikte netwerk Enkel actief op de eindpunten, niet op allerlei tussenliggende netwerkapparaten Vaststellen, handhaving en beëindiging van logische verbinding tussen twee hosts Data is hersteld in oorspronkelijke volgorde Foutendetectie en -correctie en flow control Bijv. Transport Control Protocol (TCP) (zie sectie 6.2) OSI Lagen 7: Applicatie 6: Presentatie 5: Applicatio Sessie n 4: Transport 3: Netwerk Internet 2: Data Link 1: Fysiek
Sessielaag (OSI 5) Vaststellen, handhaving en beëindiging van sessies tussen gebruikers Inloggen, uitloggen, authenticatie, etc. Veronderstelt een verbinding tussen hosts (verzorgd door transportlaag) Sessie: de informatieuitwisseling die hoort bij dezelfde conversatie van een gebruiker met een proces op een server. OSI Lagen 7: Applicatie 6: Presentatie 5: Applicatio Sessie n 4: Transport 3: Netwerk Internet 2: Data Link 1: Fysiek
Presentatielaag (OSI 6) Zorgt voor de formattering van de data: Data-formattering: tekst-encoding, big vs. little endian, e.d. representatie van geluid/beeld/ encryptie compressie Maakt de originele vorm van het bericht weer beschikbaar OSI Lagen 7: Applicatie 6: Presentatie 5: Applicatio Sessie n 4: Transport 3: Netwerk Internet 2: Data Link 1: Fysiek
Toepassingslaag (OSI 7) Verantwoordelijk voor verwerking van de data Voert functies uit voor een eindgebruiker Voorbeelden van protocollen in de toepassingslaag: HTTP FTP e-mail nieuws voice over IP (VoIP) remote access OSI Lagen 7: Applicatie 6: Presentatie 5: Applicatio Sessie n 4: Transport 3: Netwerk Internet 2: Data Link 1: Fysiek
Werking Lagen Volgens een protocol wordt op een bepaalde laag een aantal operaties op de data uitgevoerd Dan wordt de data doorgegeven naar een andere laag en vervolgens is weer een ander protocol van toepassing tot fysiek niveau (kabel, glasvezel) Bij de bestemming andersom en inverse operatie Uiteindelijk is de data terug in de oorspronkelijke vorm (bijv. audio of videofile) voor behandeling door ontvangende applicatie Netwerkarchitectuur: de verzameling lagen en protocollen
ISO Lagen: Data-eenheden (Protocol Data Unit) 7: Applicatie 6: Presentatie DATA 7: Applicatie 6: Presentatie 5: Applicatio Sessie n 4: Transport Segments 5: Applicatio Sessie n 4: Transport 3: Netwerk Internet Packets 3: Netwerk Internet 2: Data Link 1: Fysiek Frames Bits 2: Data Link 1: Fysiek
Encapsulatie Data moet ingepakt worden voor de verzending Toevoegen van bits voor protocol informatie, adressering, volgorde, foutencontrole,
Encapsulatie header header trailer
Encapsulatie Source Destination Application Stream of data Application Stream Presentation Stream of data Presentation Stream Session Stream of data Session Stream Transport Data Data Data Transport Segment Network Network Header Data Network Datagram (Packet) Data link Frame Header Network Header Data Frame Trailer Data link Frame Physical 10111100101011001011011100101 Physical Bits Physical Network Medium
ISO Lagen Succes als: 7: Applicatie 6: Presentatie De data heeft betekenis voor de beoogde toepassing De data is beschikbaar in zijn originele vorm 5: Applicatio Sessie n 4: Transport 3: Netwerk Internet 2: Data Link 1: Fysiek Het is duidelijk bij welke conversatie de data hoort Er is een betrouwbare dataoverdracht tussen twee computers op een (inter)netwerk Packets zijn aangekomen bij een computer verbonden met hetzelfde (inter)netwerk Dataframes zijn foutloos overgedragen via een fysiek medium Er kunnen bits over een fysieke verbinding verstuurd worden
TCP/IP lagen Meeste hedendaagse systemen implementeren een eenvoudiger 4-laags model. Wordt o.a. gebruikt voor internet OSI Lagen 7: Applicatie 6: Presentatie 5: Applicatio Sessie n TCP/IP lagen Applicatie 4: Transport Transport Internet 3: Netwerk Internet Internet 2: Data Link 1: Fysiek Netwerk Toegang
Vandaag Netwerken - basisbegrippen Netwerkmodellen (lagen) Dataoverdracht Signalen Codering Switching
Dataoverdracht 1. Serieel/parallel 2. Synchroon/Asynchroon 3. Simplex/Half duplex/full Duplex 4. Datasnelheid/Bandbreedte/Throughput
Parallel vs. Serieel
Parallelle communicatie Parellel: Simultane verzending van data Etc. Tweede Byte Eerste Byte Bron 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 0 Bestemming
Waar parallelle communicatie? binnen processor in data bus, bijv. PCI bus over korte afstanden buiten computer tot 64 bit
Seriële communicatie Tweede Byte Eerste Byte Bron 00100110 11110011 Bestemming Data-overdracht in een bit per keer
Waar seriële communicatie? Binnen computer: bijv. ATA bus Algemeen externe verbindingen, bijv. netwerken Morse, RS232,, RS485, Ethernet, MIDI, USB, ATA USB MIDI RS232
Network Interfact Card (NIC) Binnen computer Buiten computer Network Interface Card Seriële verbinding naar netwerk Parallelle verbinding naar data bus binnen computer
Asynchroon vs Synchroon Van toepassing bij Seriële communicatie Probleem: Hoe weet een ontvangende computer wanneer een bit begint of eindigt? een pakketje begint of eindigt? Twee benaderingen: Gemeenschappelijke klok voor grote hoeveelheid data (synchroon) Markeer begin en eind van groepje bits (asynchroon)
Dataoverdracht: Asynchroon Vooraf afstemming over: transmissiesnelheid, bits/karakter, pariteit of niet, Overdracht gaat per karakter: speciaal start en stopsignaal Veel overhead aan bits (>30%) Bijvoorbeeld: EIA/TIA-232 (RS232-C) 5 V Pariteitsbit 0 V Idle 1 Stop Bit 1 1 0 0 1 0 1 ASCII Code voor J 0 0 Start Bit Idle Richting van transmissie
Synchrone communicatie Zender en ontvanger voortdurend in de pas, continue stroom bits Bij idle steeds bepaald patroon herhalen Synchronisatie van de klok van bron en bestemming door Synchronisatiecodes Parallel kloksignaal Optimaal gebruik van kanaal Hoge snelheid (bijv. HDLC-protocol) Complexer en duurdere hardware bron bestemming 11100101010101100110101010011011001 bitstroom
Simplex vs. Half-Duplex vs. Full-Duplex
Simplex Source Simplex transmissie gaat in één richting Bijv. radio, satellietontvanger, TV, Niet handig bij computers In glasvezelkabel meerdere vezels naast elkaar Communication possible in one direction only Destination
Half-Duplex Een richting tegelijk, heen en weer Bijv. walkietalkie, Ethernet met hub Source Destination Time Filetransfer tussen computers Niet voor Skype of VoIP No communication
Full-Duplex Data kan tegelijkertijd in twee richtingen worden verzonden. Belangrijk bij interactieve applicaties Bijv. telefoon, Ethernet met layer-2 switch Bron Bestemming Simultaan in twee richtingen
Datasnelheid (bitrate) Hoeveelheid data (aantal bits) verzonden per seconde Eenheid: bits per seconde (bps of b/s) Voorbeelden max. download snelheden: ISDN 128 kb/s ADSL 8 Mb/s VDSL2 100 Mb/s Kabel 150 Mb/s 4G 125 Mb/s baud : aantal symbolen per seconde één symbool kan mogelijk meerdere bits representeren bijv. twee bits per symbool: 100 baud = 200 bps
Datasnelheid 1 kbps : 1 kilobit per second 1 Mbps : 1 megabit per second 1 kbps : 1 kilobyte per second = 8 kbps 1 MBps : 1 megabyte per second = 8 Mbps Wordt in de praktijk slordig mee omgegaan. b bit M mega- = 10 6 T tera- = 10 12 B byte Mi mebi- = 1024 2 Ti tebi- = 1024 4 k kilo- = 1000 G giga- = 10 9 P peta- = 10 15 ki kibi- = 1024 Gi gibi- = 1024 3 Pi pebi- = 1024 5 1 MiBps : 1 mebibyte per second = 8 * 1024 * 1024 = 8.388.608 bps
Berekening overdrachtstijd Overdrachtstijd = hoeveelheid data / bitrate 600-kiB file over een network van 100 Mbps? File grootte = 600 kibytes = 600 1024 bytes = 614.400 bytes = 614.400 8 = 4.915.200 bits Totale overdrachtstijd = 4.915.200/100.000.000 s = 0.049152 s Bovengrens. In praktijk beïnvloeding door andere factoren!
Bandbreedte Analoog: verschil tussen hoogste en laagste frequenties (in Hz) in het signaal Digitaal: zelfde als bitrate (in bits/sec)
Throughput Werkelijke hoeveelheid data die in bepaalde tijd kan worden verzonden In werkelijkheid beïnvloeding door signaalsterkte, soort van kabels, andere devices in het netwerk, communicatieprotocollen, netwerkgebruik, afstand, repeaters (signaalversterkers),
Vandaag Netwerken - basisbegrippen Netwerkmodellen (lagen) Dataoverdracht Signalen Codering Switching
Signaaleigenschappen Signaaldrager: Elektromagnetisch (incl. licht), geluid, chemisch, mechanisch, Benodigd: snelheid en grootte Analoog vs. Discreet Continu vs. Gesampled Periodiek vs. niet-periodiek
Van Analoog naar Digitaal Amplitude Amplitude Kwantiseren Analoog Tijd Discreet Tijd Bemonsteren
Transmissiemedia Via een geleider Koper Glasvezel Draadloos
Coaxiale kabel Twee kopergeleiders met tussenin isolator Insulation Side View Inner Conductor Outer Conductor Plastic Sleeve End View Plastic Sleeve Outer Conductor Inner Conductor Insulation
Twisted Pair Cable (UTP/STP) Unshielded (UTP) Plastic Sleeve Shielded (STP) Plastic Sleeve Screen
Glasvezelkabel Maakt gebruik van licht Glas of plastic als geleider Jacket Buffer Core Cladding
Draadloos Microgolven (elektromagnetische golven) algemeen toegepast IEEE 802.11x LANs (wifi) en mobiele telefonie verschillende frequentiegebieden
Satelliet Baan rond de aarde: Hoog (geosynchroon / geostationair) midden laag Midden: GPS Satellite Ground Station Ground Station
Infrarood Korte afstanden en niet door objecten Line-of-sight vereist: Geen inferentie met andere systemen Veilig Handig voor draagbare devices binnenshuis Onhandig voor compleet netwerk
Free Space Optics (FSO) Maakt gebruik van laserlicht (laagvermogen) Wordt wel gebruikt voor LANs over de straat
Multiplexing Doel: Meerdere signalen over één verbinding Methoden: Time division multiplexing Frequency division multiplexing (Modulation) Wavelength division multiplexing
Time division multiplexing Pakketjes van verschillende bronnen worden door elkaar gestuurd Elke bron krijgt een bepaalde tijdsduur c1 c2 c3 c4 c5 c6 c7 c8 MUX c5c4c3 c2 c1c8 c7c6c5 c4c3c2 c1 MUX = Multiplexer
Frequency en Wavelength Division Multiplexing (FDM en WDM) In FDM, worden verschillende frequentiebanden gebruikt Ieder kanaal wordt binnen een aparte band gezet Analoge techniek, elektrisch (frequentie) of licht (wavelength) 4 kanalen 1 kanaal c1 c2 c3 c4 MUX c1 c2 c3 c4 Frequency Time C = Channel MUX = Multiplexer
Modulatie Doel: signaal centreren rondom een draaggolf (carrier frequency) 1 1 0 1 1 0 1 0 Amplitudemodulatie AM 1 1 0 1 1 0 1 0 Frequentiemodulatie FM 1 1 0 1 1 0 1 0 Fasemodulatie PM
Wavelength division multiplexing Verschillende signalen worden op verschillende kleuren (frequenties) licht geplaatst en door één glasverbinding getransporteerd. Afb: wikimedia commons