Voorbeeld objecten (“wie”) Betaalautomaat klant bank betaalautomaat interface (“wat”) service-punt (“waar”) “Black box” en decompositie Betaalautomaat bank klant computer flappentap communicatiesysteem betaalautomaat hiërarchische decompositie in 2 lagen Voorbeeld 3-laags hiërarchische decompositie Blair tolk E-F secretary peer- overleg peer- overleg peer- overleg fax berichtendienst EU-topoverleg Schröder tolk F-D Sekretär Standaardmodel ISO-OSI Referentiemodel ISO = International Standards Organization O = Open van verschillende merken S = Systems I = Interconnection m.b.t. telematica Terminologie interface protocol medium Verloop van het protocol Data Data niveau niveau n niveau n n niveau niveau n niveau n n service user peer Protocol Protocol Service Ctrl Info Data Data Unit Unit Protocol Protocol Service Data Data Unit Unit Ctrl Info service provider niveau n-1 Service Data Unit niveau n-1 Service Data Unit Protocol-beschrijving geboden diensten aan bovenliggende laag protocol entiteit communicatie met peer gevraagde diensten van onderliggende laag ISO-OSI 7-lagenmodel 7 6 5 4 3 2 1 0 applicatie presentatie sessie transport netwerk data link fysiek medium (draad, glasvezel, radio, ...) ISO-OSI 7-lagenmodel applicatie file transfer, WWW, e-mail, ... transport communicatie tussen processen netwerk communicatie tussen computers data link versturen van frames over een LAN fysiek medium versturen van bits versturen van signaal ISO-OSI Reference model OSI is niet een protocol-beschrijving maar biedt houvast door vaste terminologie ik heb een goed idee voor een nieuw protocol... ...voor de netwerk-laag! Voorbeeld protocollen applicatie HTTP FTP SMTP transport TCP netwerk IP Transmission Control Protocol Internet Protocol data link fysiek medium V34 HyperText/File/Mail Transfer Protocol (ISDN) TCP/IP is grondslag van “het” Internet Standaardisatie-strijd ISO OSI-model IETF IETF protocollen TCP/IP model applicatie applicatie transport TCP transport netwerk IP internet data link fysiek wij gaan mooi niet jullie model gebruiken! host-tonetwork Media Via een draad “Twisted pair” 2 gevlochten koperdraadjes Coax-kabel kern met afscherming Glasvezel-kabel buigzame lichtgeleider De fysieke laag Hoe kun je media en signalen gebruiken om bits te transporteren? Fysieke protocol-laag Doel: realisatie van een bit-stream fysieke laag medium (draad, glasvezel, radio, ...) Fysieke protocol-laag Functies: Modulatie/demodulatie bits naar signaal-elementen en terug Multiplexing meerdere verbindingen via één medium Synchronisatie Relaying De datalink-laag Hoe kun je een betrouwbare verbinding maken in punt-naar-punt netwerken? Datalink protocol-laag Doel: realisatie van een betrouwbare verbinding datalinklaag fysieke laag medium Datalink protocol-laag Functies: Verdeling in frames Foutdetectie en -correctie Her-transmissie (na gedetecteerde fouten) Flow control (voorkomt overstroming) Access control (bij gemeenschappelijk medium) Medium Access Hoe kun je met z’n allen één draad gebruiken? De netwerk-laag Hoe kun je netwerken die intern direct verbonden zijn, met elkaar koppelen? Netwerk protocol-laag Doel: versturen van packets tussen computers in verschillende netwerken netwerklaag packet datalinklaag frame fysieke laag bit medium signaal naam van verstuurde ding Opbouw van een inter-netwerk host host netwerk host host host router host router host netwerk host host netwerk host router host netwerk host host router host host host Router (= Switch = Gateway) Functie van een router: store and forward: accepteer packets en stuur ze door... naar host van bestemming of anders... naar de andere router of, als er meerdere zijn, naar de beste router router host netwerk router host host Voorbeeld netwerklaag: IP = Internet Protocol Hoe werkt het Internet Protocol? Opbouw IP-packet 32 bits ver head sie len type packet length identificatie time to live wordt elke stap verlaagd; voorkomt rondzingen fragment nr protocol header checksum 5 words adres afzender adres bestemming evt. opties (afhankelijk van headlen) <13 frame <65k words bytes Opbouw IP-adres 0 netwerk 10 host netwerk 110 126 netwerken à 16M hosts netwerk 1110 16k netwerken à 64k hosts host host 2M netwerken à 254 hosts multicast-groep 11110 gereserveerd getal . getal . getal . getal 131 . 211 . 80 . 7 routers hebben meerdere IP-adressen! Internet Control Message Protocol Bij problemen, bijvoorbeeld host onbereikbaar time-to-live is nul geworden checksum klopt niet wordt het packet weggegooid en gaat er een foutmeldings-packet terug naar de afzender De transport-laag Hoe kunnen processen over een netwerk communiceren? Transport protocol-laag Segmenteren van continue datastroom in afzonderlijke segmenten Herstel van in netwerk-laag kwijtgeraakte packets, aflevering in volgorde Adresseren van aparte processen (eventueel meerdere) op host Voorbeeld transport-laag: TCP = Transport Control Protocol Service access points: IP-adres plus “poort” 16-bits nummer van een proces niet te verwarren met de hardware-term! De applicatie-laag Wat zullen we eens voor leuks gaan doen met dat Internet ? FTP: File transfer protocol Server accepteert op poort 20 verbinding met een client en leest een regel tekst. Is het eerste woord “dir”, dan stuurt-ie een directory-listing naar de client Is het eerste woord “get”, dan stuurt-ie de inhoud van het tweede woord Is het eerste woord “put”, dan ontvangt-ie een file enz. protocol: afspraak wat de reactie zal zijn bij diverse berichten DNS: Domain name server Server accepteert op poort 53 verbinding met een client en leest een regel tekst. Dat moet een domein-adres zijn, bijvoorbeeld “infix.cs.uu.nl” Hij antwoordt wat het overeenkomstige IP-adres is: “131.211.80.7” Telnet: “tele-werken” Server accepteert op poort 23 verbinding met een client en leest een regel tekst. Dat moet een commando zijn Hij stuurt de output daarvan terug SMTP: Simple Mail Transfer Protocol Server accepteert op poort 25 verbinding met een client en leest regels tekst. De eerste regel is, geheel volgens protocol, de tekst “HELO” Vervolgens ontspint zich, volgens protocol, een hele dialoog, waarmee mail uitgewisseld wordt En nog veel meer protocollen... HTTP (op poort 80) Hyper Text Transfer Protocol NNTP (op poort 119) Network News Transfer Protocol IRC Internet Relay Chat