Introduktion til programmering. Uge 39 Computer Science Netværk og operativsystemer Kap 3-4.



Relaterede dokumenter
Introduktion til programmering. Uge 41 Computer Science Netværk og operativsystemer Kap 3-4.

Introduktion til programmering. Uge 41 Computer Science Netværk Kap 3-4.

Introduktion til computernetværk

TCP & UDP. - de transportansvarlige på lag 4. Netteknik 1

Computer Networks Specielt om Infrastrukturer og Teknologi

Internettet Netværk. Hvad er netværk?

IT og økonomi. Lektionens emner. Hvorfor netværk? Lektion: N: Netværk

Netværksmålinger. - en introduktion! Netteknik. TCP - IP - Ethernet

Workshops om netværk

Ethereal Intro && Ethereal HTTP. René Hansen Anders Bjerg Pedersen Michael Nilou Hold 1 September 12, 2007

M A D S L A R S E N, A S G E R B A L L E G A A R D & J O N A S K R O N B O R G R O S K I L D E T E K N I S K E G Y M N A S I U M.

Datapakke. Data. Afsender. Modtager

Programmering af CS7050 TCP/IP modul

Netværksmålinger. - en introduktion! Netteknik

De forskellige måder man scanner på

SIP. Session Initiation Protocol TDC IP telefoni Scale. SIP design mål

NETVÆRKSKURSUS Oktober November jmt

Internet vs WWW. Internettet er IKKE det samme som www. Internettet Er et netværk af computere Gør det muligt af dele information

SIP. Session Initiation Protocol. TDC IP telefoni Scale

Netteknik 1 Byg et netværk med SO-HO router Øvelse

LAB ØVELSE KONFIGURATION AF DHCP PÅ DANSK AF KIM DONNERBORG / RTS


Basal TCP/IP fejlfinding

Sydfyns Intranet A/S Fåborgvej 64 Svendborg 5700 fax tlf web

Deling i Windows. Netteknik 1

IP Modul report / Netværks software manual 1.0 Funktions beskrivelse:

PHP Quick Teknisk Ordbog

Netværkstopologi. - Den logiske og den fysiske! Netteknik 1

Netværkstopologi. Netteknik 1. Netteknik 1 (AMU 44947) Mercantec Den logiske og den fysiske! Netværkstopologi

ARP og ICMP. - service protokoller, som vi ikke kan undvære! Netteknik 1

Netteknik 1. AMU kursus nr Netteknik 1 (AMU 44947) - anvendelse af teknologier og begreber. Formålet med kursus

Teknisk beskrivelse til TDC Managed Firewall

DAU REMOTE ACCESS LØSNINGSMULIGHEDER OG TEKNOLOGIER MED REMOTE ACCESS JOHN AMMENTORP

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

Netteknik 1. AMU kursus nr Netværk grundlæggende ( AMU Netteknik 1 ) - anvendelse af teknologier og begreber. Formålet med kursus

Sydfyns Intranet A/S Fåborgvej Svendborg cvr Tlf Fax

Infrastruktur i hjemmet og begreber

Router U270 funktionsbeskrivelse

I denne øvelse vil du få vist hvordan opsætningen af netværket foregår. Målet er at du selv kan konfigurere en IP adresse på din lokal maskine.

Deling i Windows. - via NetBIOS eller Hjemmegruppe! Netteknik 1

- City - gør det selv installation. - Vejledninger -

VoIP. Voice over IP & IP-Telefoni. Lars Christensen & René Truelsen, Dec. 2004

Netværk & elektronik

Network Requirements - checklist SALTO proaccess space software SPACE ProAccess 3.0

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Netteknik 1. - anvendelse af teknologier og begreber. AMU kursus nr

bnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnm

Netværks opsætning af IP modulet:

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Vejledning til at tjekke om du har sat manuel IP på din computer.

It og informationssøgning Forelæsning november 2006 Jakob Grue Simonsen. Hypertekst og Python. Andersen & Simonsen: kap. 12

2x50 ETHERNET MODUL. RS485 slave med Ethernet-IP. Gælder for: Program nr.: AUXSLAVE v1 Dokument nr.: 0422md2x50-2v1 Dato:

Applikations Virtualisering. Anders Keis Hansen

Ruko SmartAir. Updater installation

- en introduktion! Oversætter domænenavne til IP-adresser - F.eks: oversættes til Bruges dagligt i Internet Browsere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Indhold

Velkommen til BEHRINGER PODCAST hurtigstart guiden

Mindstekrav til udstyr (fase 1) Løsningsbeskrivelse

har jeg hentet nedenstående anmeldelse af et godt program til

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere

Bilag 1: Ordliste. Bilag 1: Ordliste 141

«Lejekontrakt_Selskab» BRUGERVEJLEDNING OPSÆTNING AF INTERNET

Internet Protokollen. - IP er arbejdshesten på næsten alle netværk! Netteknik 1

Opgavehæfte til kursus i Netteknik7

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Application Note: AN-Z05

Det Danske Filminstitut byder velkommen til vores UDP Server. Pligtaflevering - Version 2.0

WEB Server og Ethernet Data Logger Lonbox PID4000

Version /10. Xerox ColorQube 9301/9302/9303 Internet Services

Hvis du ønsker at tilgå Internet trådløst, skal du selv anskaffe dette udstyr. Det kaldes ofte et access point eller en trådløs router.!

VLAN. - mange logiske net på ét fysisk! Netteknik 1

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

Synkron kommunikation

Trådløst netværk med private enheder for ansatte og studerende

-Krav til klinikkens udstyr (hardware/netværk mm.)

DNS systemet. - fra navne til IPv4 adresser! Netteknik 1

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

NT PDC Udarbejdet af Kenneth Dalbjerg

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Indhold

Network. Netværks design. Region Syd Grundlæggende netværk

Indhold. Download driver Find version af Windows Hent drivers til Windows Udpak driver... 6

KONTAKT. Sådan kommer du på nettet med din Fullrate forbindelse.

IBI/CTS opbygning af grafiske brugerflader på centrale anlæg...3 Stikordsregister...39

Optimering af Pervasive v 9 databasen

Cisco ASA Introduktion & vejledning. Opsætning af DMZ-zone

Spørgsmål: Hvordan kan jeg sætte routeren op uden brug af CD en? Svar: Routeren kan sættes op manuelt iht. step by step guiden nedenfor!

IT Support Guide. Installation af netværksprinter (direkte IP print)

Net Videre TCP/IP repetition Øvelse

Fjernadgang til BEC s systemer via Portal2

Opsætning af din computer med DLG Bredbånd

Konfigurationsguide. Krav til hardware og software for SonWin og SonWins moduler. Side 1 af 17

Hvor er mine runde hjørner?

Brugervejledning. Konfiguration af mailklient SDNMail (MS Outlook, Outlook Express og andre mailprogrammer) Computer Sciences Corporation

PNI/GRN - 1. kursusgang

SAP R/3. Henrik Kroos

Navision Stat (NS 9.2)

Delfi Connect. Bruger vejledning 1. TILSLUTNING INSTALLATION MENUSTRUKTUR...4

FairSSL Fair priser fair support

Transkript:

Introduktion til programmering Uge 39 Computer Science Netværk og operativsystemer Kap 3-4.

Plan Sidste gang Netværk og netværksopbygning Protokoller Netværksprogrammering i Python Operativsystemer tredje obligatoriske øvelse

Sidste gang Sætninger og udtryk Funktioner Sætninger og udtryk Kontrolstrukturer Selektion Gentagelse Funktioner Vi mangler lige noget

Netværk

Netværksopbygning Vi kan skelne mellem flere typer netværk: LAN Local Area Network WAN Wide Area Network PAN Personal Area networks

LAN Eksempler IMV, En virksomhed Består af en række arbejdsstationer og servere Filservere, postservere, printservere Databaseservere, webservere Typisk opdelt i to eller flere undernetværk Intranet

LAN Klienter: Kabel: Ethernet, 10 / 100 Mbit Trådløst: 11 / 54 Mbit Servere: Gigabit, 1000 Mbit 1 Mbit = 128 Kb/s 100 Mbit = 125 Mb/s

IMV 5 undernet: Studerende, Ansatte, Trådløst, Printere, Web 100 Mbit generelt 10 Mbit i terminalrum 1000 Mbit til datakontoret

PAN Trådløse, kort rækkevidde Bluetooth, ca 10 m 768 Kbit ~96 kb/s Forbinder f.eks. mobiltelefoner og lommecomputere

WAN Kan forbinde to LAN for en virksomhed Internettet er et WAN der forbinder mange net Mange medier Telefonlinjer, lysledere, kabel, radio, mikrobølger, satellit Djursland net i Thorsager To sendemaster Modtager plus router plus evt. ethernet i hvert hus 10 MBit

Radiomodtager og -sender ved skolen

Konservesdåse ved det enkelte hus

Router til at fordele mellem to computere

Hvad er et net? Et net er defineret ved sin protokol Internettet er defineret ved TCP/IP 8 Transmission Control Protocol / Internet Protocol) Net der bruger denne protokol tilhører Internettet. Net der ikke gør det, tilhører det ikke. Et net kan realiseres på mange fysisk forskellige måder (radiobølger, ethernet, etc.)

Internettet En netværk mellem netværk Opstod fra ARPAnet i 60 erne 2.4-50 kbit net Baseret på en fælles Kommunikationsstand ard TCP/IP

Internet Design (Rober Kahn, 1972) Alle undernet skal være selvstændige. Der skal ikke være behov for interne ændringer i nettene for at forbinde dem til internettet Kommunikation er best effort. Hvis en pakke ikke når målet, sendes den igen Nettet bindes sammen af gateways, der ikke ved noget om de pakker der sendes Der skal ikke være nogen central kontrol Hvis en del af nettet bryder sammen skal resten alligevel kunne fungere (den kolde krig)

TCP/IP Transmission Control Protocol / Internet Protocol Pakke-baseret protokol Lagdelt protokol

Lagdelte protokoller Applikation (f.eks. browser) Laver IP-adresse som transportlaget kan forstå (IP) Transportlaget Hakke beskeden i små pakker, forsyne hver pakke med adresse og nummer (TCP) Sikre og usikre versioner Netværk Link Bestemmer midlertidig adresse for forsendelsen (IP) Indenfor: send direkte til maskine Udenfor: send til router Max hop-antal Skal sende til maskinen med den midlertidige adresse Ethernet: Vent til bussen er stille, og send så Hvis en anden maskine også er begyndt at sende, vent et tilfældigt tidsrum, og prøv igen.

TCP/IP Lag Applikations lag Indeholder de konkrete data der sendes Vi vil hovedsageligt se på applikationslaget og TCP-laget

IP adresser og Protokoller Alle maskiner på nettet tildeles en IP adresse XXX.YYY.ZZZ.WWW 0-255 (32 bit), IPv4 Faste og dynamiske adresser Ialt 3,5 milliarder adresser... men vi er ved at løbe tør for dem Tildelingsproblematikken

Internet anno 1971

Internet, USA 1999

Eurorings

WWW Number of websites 200.000 150.000 100.000 50.000 6/93 12/93 6/94 12/94 6/95 1/96 6/96 Time Fig. 1. 1. Growth of web-sites 93-96. Kilde: http://www.mit.edu:8001/people/mkgray/net/webgrowth-summary.html

DNS Domain Name Server Databaser der forbinder navne med IP adresser www.dr.dk -> 195.137.194.128 www.whitehouse.gov -> 213.236.199.95 Regler for DNS com,.net,.gov,.mil,.org,.edu,.int areo,.coop,.museum,.biz,.info,.name Landekoder (.dk,.uk etc) ICANN - The Internet Corporation for Assigned Names and Numbers www.icann.org

Applikationslag - protokoller Udveksling af data mellem programmer Standardiseret, forskellige programmer kan dele data HTTP, FTP, POP3, SMTP

HTTP Hyper Text Transfer Protokol Udviklet i Schweiz i starten af 90 erne Tim Berners Lee Nu en standard under W3C, www.w3c.org World Wide Web Consortium Overførsel af tekst Fejl, metainformation To-vejs (CGI)

Klient-server Klienten sender anmodning om info til server Server finder info og sender den tilbage Klient Fx en browser GET /pub/www/theproject.html HTTP/1.0 HTTP/1.0 200 + Content-type: text/html + <xxx> </xxx> Server Fx en WWW server

Trafikmønstre på nettet Informationen produceres af værten Informationen produceres af klienten Valg af informationen kontrolleres af værten Valg af informationen kontrolleres af klienten Transmission. Radio, aviser, tekst-tv. Pushteknologi, spam Konsultation. WWW. Registrering. tilmeldelse til nyhedsgrupper, Selvangivelser, etc. Konversation. Almindelige samtaler. email.

Hvad er html? Hyper Text Mark-up Language. Standard for de dokumenter WWW består af Består essentielt af en række tags, <xxx> </xxx> der beskriver hvordan skal renderes grafisk og hvordan browseren i øvrigt skal reagerer på tekststumpen. Fra Kursussiden: <p class="flt"> <span lang="da"> Øvelserne tilhører bestemte forelæsninger. Der skelnes mellem tre typer af aktiviteter: <i> individuelle obligatoriske øvelser, valgfrie øvelser </i>, og <i> obligatoriske opgaver. </i> </span> </p>

Hvad er WWW? Det bygger på en grundlæggende rekursiv proces hvor output anvendes som nyt input Klienter og servere kan ikke direkte påvirke hinanden. De bestemmer selv hvordan de vil reagerer på kommunikationen Det har en grænse til sine omgivelser Det er ikke styret af nogen overgribende intentionalitet, Det kan selv medvirke til sin egen reproduktion, udvikling og reparation, Det er dynamisk, og udvikler sig hele tiden. dets udviklingsdynamik involverer konstante fluktuationer, Selv-reference og selv-observation er uundværlige for at denne dynamik ikke opløser sig selv.

Grundlæggende rekursiv proces. Kommunikation som perturbation HTML URL HTML Perturbation: klient og server får ikke lov direkte at påvirke hinanden. De bestemmer selv hvordan den modtagne kommunikation skal fortolkes Informations behov HTML dokument Klient: Send URL til Vært Vært: send dokument til klient. URL

Det er ikke styret af nogen overgribende intentionalitet W3C Process (The World Wide Web Consortium) The Consortium attempts to find common specifications for the Web so that through dramatic and rapid evolution, many organizations can work in their own fields to exploit and build on top of the global information space which is the web. The technologies involved in the web are changing very rapidly, and so the Consortium must have both efficiency and flexibility in its process, to be able to respond to the needs of the community in a timely manner. At the same time, it must be clear that the Consortium is neutral forum, and no member has a priori a greater say than another.

Det kan selv medvirke til sin egen reproduktion, udvikling og reparation Downloads Udvikling: Man kan ved hjælp af nettet downloade de nye programmer der ændrer nettet Reparation: Man kan abonnere på patches og rettelser, så de kommer automatisk Reparation: Når en klient mangler en ressource for at kunne fortolke en side, kan den automatisk downloades fra nettet.

Specifikationen af HTTP er åben for forandringer Specifikationen af HTTP giver mulighed for fluktuationer for at sikre at protokollen hele tiden vil udvikle sig. Method = "OPTIONS" "GET" "HEAD" "POST" "PUT" "DELETE" "TRACE" extension-method Extension-method, angiver at nye metoder kan komme til. Responsens statuskode Status-Code = "100" ; Continue "101" ; Switching Protocols "200" ; OK [...] "503"; Service Unavailable "504" ; Gateway Time-out "505" ; HTTP Version not supported extension-code

Selv-reference og selv-observation Selv-reference og selv-observation er uundværlige for at denne dynamik ikke opløser sig selv Søgemaskiner producerer hele tiden opdaterede beskrivelser af nettet selv ved hjælp af nettet Alle HTML sider og HTTP protokoller skal angive hvilken version de selv er Søgemaskiner fører statistik over de mest populære sider og viser dem først Positivt feed-back. Mattæus-effekten.

Eksempel Når I skal sætte Python til at lave dynamiske hjemmesider skal I sørge for to selv-referencer: Hvad er det for en slags dokument? print Content-type: text/html Hvilken version af HTML og hvilket sprog? def printoverskrift(titel): print ' <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1- strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">

FTP File Transfer Protocol Overførsel af filer mellem maskiner Abstraktion over den fysiske maskine Kan overføre binære (data) filer og ascii (tekst) filer (ingen oversættelse/ oversættelse) Husk senere når I FTP er jeres Pythonprogrammer: de skal overføres som ascii filer, ellers virker det ikke Kan sættes i FileZilla

POP3, IMAP og SMTP Post Office Protocol v3 Tillader en klient (mailprogram) at hente post fra serveren Henter en kopi af mailen ned på den lokale maskine, og sletter den på serveren IMAPv4 Læser mailen på serveren SMTP Simple Mail Transfer Protocol Lader en klient (mailprogram) sende en mail til serveren, og mellem servere.

Netværk Python moduler understøtter netværkskommunikation Moduler httplib, ftplib, poplib, smtplib

httplib import httplib python = httplib.httpconnection('www.python.org') python.request("get", '/index.html') res = python.getresponse() print res.status, res.reason 200 OK page = res.read() python.close() print page <a href="http://www.python.org/moin/localusergroups">user Groups</a> Virker ikke på alle url er

urllib import urllib result = urllib.urlretrieve('http://imv.au.dk/~pba/homepagematerial/programm ering.htm') >>> result ('c:\\docume~1\\pba\\locals~1\\temp\\tmpxhcesb.htm', <httplib.httpmessage instance at 0x01434FD0>) Siden ligger på C:\\docume~1\\pba\\locals~1\\temp\\tmpxhcesb.htm urllib.urlopen('http://imv.au.dk/~pba/homepagematerial/programmeri ng.htm') >>> result.readline() '<html>\r\n >>> result.readline() '\r\n'>>> result.readline() '<head>\r\n'

Operativsystemer Historie og opbygning

Operativsystemets rolle Operativsystemer (OS) foretager ressourcehåndtering Diskplads, hukommelse, CPU-tid Eksterne ressourcer Netværk, printere, tertiær hukommelse Brugerhåndtering Rettigheder, filadgang, prioritering,programafvikling Rettigheder på web-serveren: husk kryds i execute når I ftp er jeres Python filer!

OS historie Første maskiner havde intet OS ENIAC, EDSAC Jobbene (programmerne) kørte direkte på metallet Programmering ved omkonfigurering af kabler

Jobkontrol (JCL) Reservationer af timeslots... maskinerne stod stille eller jobs måtte afbrydes Computeroperatører... aflevere hulkort eller papirstrimmel til operatør, modtage udprint med resultat tilbage Batch jobs: har jeg prøvet Automatisk igangsætning af jobs Skrive program Gentag: aflevere program Vente et par dage Rette fejl

Time sharing Compatible Time Sharing System, 1961 Multics, 1968 Mainframe med tilsluttede dumme terminaler (Client/Server) Det var den måde vi arbejdede i 70 erne Første terminaler kom til Århus i 71-72. Stor opstandelse Ingen mulig for interaktion

UNIX Unix 1969-1973, Dennis Ritchie og Kenneth Thompson (AT&T, PDP-7) Skrevet i C Portabelt Foræret væk til alle

Microsoft Udviklede OS til personlig IBM s nye personlige computer DOS Disk Operating System Enkeltbrugersystem Forsvandt først i Windows 2000

Windows udvikling

Mac Classic OS 1-9 OS X (10)

Operativsystemers struktur Software Application:specifikke opgaver Spreadsheets,tekstbehandling databaser Utility: supplering til OS: Diskformattering, defragmentering, audio System: generelle opgaver Shell: brugerinteraktion CMD, WIndows Operating system Kernel:funktionalitet Window,File, Memory namager Device drivers

Ressourcer Hukommelse Fysisk, virtuel swapping/paging Diskplads CPU tid prioritering

Processer, tråde Et program repræsenterer mulige processer Procestilstand = datatilstand plus program pointer En proces har adskilt datatilstand og programpointer fra andre processer En proces får et tidsrum på CPU en Eks. 5 ms - timeslicing Tråde deler data og hukommelse (pseudo-)parallel afvikling af kode Python understøtter både processer og tråde

Opgave 3 Emne: netværk og operativsystemer Obl øvelse 3: Lav et python program der importerer httplib og bruger dette til at downloade en hjemme-side (brug httplib.httpconnection( URL ), request('get','url ), og read()). Lav et filter der giver meddelelsen forbudt hvis et medlem af en liste af frække ord optræder på hjemme-siden, og ellers skriver tilladt. Lav en hjemmeside om jer selv, enten ved at bruge en editor eller ved at skrive HTML-koden i en tekstfil. Der være stå navn, adresse, og telefonnummer, en virkende email-knap, samt en link til instituttets hjemmeside. Endvidere skal der være et billede af jer. Resten er op til jer. Kommenter de vigtigste tags i html-koden: hvilken funktion har de? (brug Computer Science, p. 149 ff. Fuldstændig information om HTML-versioner kan findes på http://www.w3c.org).