Componenten in een netwerk: Platform voor communicatie Tussenliggende apparaten - Van source naar destination kom je veel apparaten tegen - Tussenliggende apparaten verzorgen de echte netwerkfunctionaliteit • Hubs • Switches • Wireless access points • Modems • Routers • (...) - Functionaliteiten: zeer uiteenlopend • Routering • Hergenereren van signalen • Detecteren van alternatieve routes • QoS Netwerkmedia (...) - Eenvoudige netwerken: Bv. directe verbinding van 2 pc's via kabel - Ingewikkelde netwerken: vele tussenliggende stations communicatie kan over een lange afstand lopen - Hardware componenten: Pc route, switch, hub,... Bekabeling - Software - End devices: zender of ontvanger van berichten "Host" Voorbeelden: - computers: laptops, servers, workstations - network printers - VoIP telefoons - Camera's - PDA - Remote monitoring station (weerstation) Host-Adress - = uniek fysiek adres - Tussenliggende apparaten: Van source naar destination kom je veel apparaten tegen... Tussenliggende apparaten verzorgen de echte netwerkfunctionaliteit - Hubs - Switches - Wireless Access Points - Modems - Routers -(...) Functionaliteiten: zeer uiteenlopend -Routering - Hergeneren van signalen - Detecteren van alternatieve routens - QOS - Netwerkmedia: koper fiber wireless LANs Local-Area Networks: een groep end-devices en gebruikers onder 1 gezamelijke administratie in een beperkte fysieke locatie Nu: zelfde gebouw/campus WANs Wide-Area Networks: een type netwerk dat verschillende LANs die ver uit elkaar liggen interconnecteert typisch over lange afstand gebruik maken van lijnen van networkprovider (<-> LAN) LAN vs WAN Het internet: netwerk van netwerken vroeger: communicatie beperkt tot LAN nu: LAN interconnecteren via WAN = internet Protocollen Regels voor communicatie: elke vorm van communicatie wordt door regels bepaald - bv. telefoongesprek vereist een andere verzameling regels dan een brief of mail schrijven de verzameling regels die communicatie in goede banen leiden noemt men het protocol (kijk afbeelding voor visuele uitleg) - Application protocol: http: hypertext transfer protocol: legt vast op welke manier de client en server htmlbestanden uitwisselen (bv. GET , POST) - Transport protocol: TCP: transport control protocol: deelt groteren berichten op in kleine segmenten om deze te versturen - Internetwork protocol: IP: Internet Protocol: neemt segmenten van TCP en pakt deze in een envelop met adresseringsinformatie - Network access protocol: Hoe wordt data op de draad gezet? Het ethernet is de eindbestemming. De interactie van protocollen: - Web browser die met web server communiceert (kijk afbeelding voor visuele uitleg) (...) BELNET sinds 2008 verbindt universiteiten, hogescholen en onderzoekscentra verbinding 10Gbps (of veelvoud) 1650 km Glasvezel verbonden aan commercieel internet en het Europees onderzoeksnetwerk GéANT3 HET OSI MODEL: Het OSI en TCP/IP model OSI - International Organization for Standardization (ISO) - Op basis van bestaande protocollen: TCP/IP, DECnet - Nooit echt “gebruikt” omwille van populariteit TCP/IP Gids bij netwerkcommunicatie - Producenten van netwerkhardware verwijzen altijd naar dit model - OSI definieert: lagen + welke functies in welke laag hoe informatie door een netwerk stroomt Laag 7: Applicatielaag dichtst bij gebruiker aanbieden van netwerkservices aan gebruikersapplicaties biedt geen dienst aan ander OSI lagen End-To-end connectiviteit voorbeelden: - file transfer Laag 6: Presentatielaag ervoor zorgen dat de informatie die de applicatielaag zendt kan gelezen worden Laag 5: Sessielaag opzetten, beheren, afsluiten van sessies tussen 2 communicerende hosts aanbieden van diensten aan de presentatielaag - synchroniseren voor UFHEIFHDSOI gebruik maken van transportlaag Voorzieningen voor: serviceklassen (prioriteiten), uitzonderen voorbeelden: - NFS (Network File System), X- Window system, ASP (Appletalk Session Protocoll) Laag 4: Transportlaag Segmenteren van data (zender) Herassembleren van gesegmenteerde data (ontvanger) Scheiding transportlaag- sessielaag belangrijk: scheiding tussen applicatieprotocols- dataflows protocols Data-transport aanbieden sessielaag Betrouwbaarheid: opzetten, onderhoude, afsluiten van virtuele circuits (een virtueel communicatiekanaal opzetten) Voorbeelden - TCP (Transmission Control Protocol) =>Betrouwbaar -UDP (User Datagram Protocol) => Onbetrouwbaar Laag 3: Netwerklaag Complexe laag Verbinding en padselectie tussen twee hosts Logische adressering voorbeelden: - IP - Apple Laag 2: Datalinklaag Betrouwbaar transport van data over een fysieke link Fysieke adressering Netwerktopologie Netwerktoegang (tegelijk? token-passing?) signaleren van fouten Geordend afleveren van frames flow control voorbeelden: ethernet, token ring,... Laag 1: fysische laag Elektrische, mechanische, procedurele, functionele specificaties voor activeren, onderhouden en afbreken van een fysieke verbidning tussen eindsystemen typische karakterisitieken - voltages - timing van voltagewissels - fysieke snelheden - maximale verzendafstanden - fysieke conncectoren OSI vs TCP/IP -OSI deelt applicatie- en network access lagen verder in - TXP/IP zegt niets over fysieke medium op network access laag - Layer 3 en 4 zijn hetzelfde (bekijk afbeelding voor visuele uitleg) Adressering: ° hoe de data bij de end-device terechtkomt op layer 2 wordt de adressering op het lokale netwerk afgehandeld - Zogenaamd MAD-adres - Wanneer 2 devices op een lokaal ethernet met elkaar communiceren, bevat het frame en source mac ° hoe de data over het internetwerk reist Layer 3 adressering zorgt voor het verplaatsen van pakketten van het een naar het andere netwerk <-> layer 2 adressering: enkel lokaal (!) routers maken gebruik van de layer 3 informatie om een pakket te routeren tss netwerken De interfaces tussen netwerken Software in de applicatielaag - deze software laat toe om met het ,netwerk te werken - 2 soorten software: Network Aware applicaties - wat wij zelf dagelijks gebruiken - typisch met grafische user interface Voorbeelden ° Browser, mail client,... Application server: een apparaat dat antwoordt op de requests van een client (applicaties) op de server draait meestal een achtergrondproces (daemon) Poortnummers: - Transport layer zal een poortnummer gebruiken om de service te kunnen onderscheiden voor wie het segmetn bedoeld is dit is dus eigenlijk de link tussen layer 7 en 6 Elke service heeft typisch een eigen poortnummer (meestal vast gedefinieerd) - Bekende poortnummer DNS: TCP/UDP poort 53 HTTP: TCP poort 80 SMTP: TCP poort 25 POP: TCP poort 110 Telnet: TCP poort 23 HCP: UDP poort TCP: (...) DNS - Domain name system - IP adressen zijn niet eenvoudig te onthouden Bv. zeker niet voor tientallen websites die we dagelijks bezoeken - DNS zet namen om naar IP adressen Domein naam: bv. www.cisco.com IP adres: bv. 198.133.219.25 - Gedistribueerd systeem (zie verduidelijkend schema) Transportlaag (goede examenvragen) Rollen transportlaag: - TCP: betrouwbare communicatie - TCP sessies beheren - UDP: communicatie zonder overhead (TCP-IP is maar een gedeelte van de IP-laag) Doel transportlaag: - belangrijkste taken segmenteren van data, herassembleren van data - Header toevoegen om te weten tot welke communicatie het segment behoort Verschillende communicaties tss applicaties op source (...) - Vereisten transportlaag: sommige programma's vereisen strikte volgorde van segmenten sommige programma's kunnen geen segmenten missen sommige programma's moeten alle segmenten aankrijgen sommige programma's kunnen een bepaalde vertraging tolereren - bv. browser moet alles aankrijgen, maar kleine delay wordt amper opgemerkt (...) - Beheren van conversaties: segmenteren en herassembleren - meeste netwerken hebben een masimale groootte voor de PDU - op source de data segmenteren - op destination de data herassembleren multiplexing van conversaties (parallel doorsturen van verschillende conversaties) Deze taak brengt heel wat met zich mee: De sessies opzetten - connectie logisch gezien opzetten, voor de effectieve datatransfer Betrouwbare levering - transport layer zorgt dfat (indien nodig) alle segmenten in de juiste volgorde aankomen Juiste volgorde levering - nummeren van segmenten zpdat deze in de juiste volgorde aankomen (segmenten kunnen in meers geen paden volgen) Flow control - elke (...) Ondersteunen van betrouwbare communicatie - heel wat applicatielaag-protocollen vereisen betrouwbare communicatie - HTTP, SMTP, FTP, POP3, IMAP4,... - Basisfunctionaliteiten voor betrouwbaarheid - Lijst bijhouden - Ontvangen data bevestigen - niet aangekomen (bevestigde) segmenten opnieuw doorsturen (...) TCP en UDP 2 belangrijke protocols in de transportlaag - UDP: - Connectionless - Ontvangen data bevestigen - niet aangekomen (bevestigde) segmenten opnieuw doorsturen (...) Poortadressering Zowel UDP als TCP moet weten aan welk applicatie de data moet worden doorgegeven (de link met de applicatielaag) - Poortnummers worden sowieso in de header opgeslagen Telkens 2 poortnummer - Source Port (...) De combinate van IP en poortnummer = Socket Een socket identificeert op unieke wijze de verbinding Voorbeelden van sockets: - Web server luistert op IP adres 192.123.2.4 op poort 80 - 192.123.2.4:80 is de gebruikte socket op de server - Web browser op een pc met IP adres (...) Segmentatie en herassembleren indien data die verstuurd moeten zeer groot is - in 1 stuk doorsturen is niet handig (opzetten connectie + ander verkeer is niet meer mogelijk (geen multiplexing) - DUS: (...) Pakket en segment zijn 2 verschillende dingen (!) Packet: Segment: (...) IPv4 Netwerklaag: communicatie van host naar host - Netwerklaag - Verschillende functies (kijk hoofdstuk 5) Laag 3 Routing: afhandeling van datapakketten Elke router zal: - Forwarden naar next-hop router OF - Forwarden naar destination host OF - het pakket vernietigen Adrestypes: Netwerk prefix (duidt aan hoeveel bits er nodig zijn om een netwerk ID te herkennen in een host-ID) (checkt BB hoofdstuk 6) Unicast; broadcast en multicast: Unicast: - een pakket verzenden van een host naar een andere host Broadcast: - een pakket verzenden van een host naar alle hosts van een netwerk Multicast: - 1 pakket naar selectie van hosts - bedoeling: efficiënt meerderere host bereiken - Zonder multicast Toekennnen van adressen (MOET NI) Oefeningen (MOET NI) Testen van de netwerklaag (cool) Hoe worden IP pakketten geroute op een lokaal netwerk? (How are IP packets routed on a local Area Network?)