Nätverk grunder Föreläsning 1: 1: Introduktion till Internet

Relevanta dokument
Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet

Administration: Grundläggande internetprogrammering

IT för personligt arbete F2

Datakommunika,on på Internet

Grundläggande datavetenskap, 4p

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

TCP/IP och Internetadressering

Datakommunika,on på Internet

Internet. Internet hur kom det till? Internets framväxt. Ett hierarkiskt uppbyggt telenät Kretskopplat/circuit switching

Christer Scheja TAC AB

Webbservrar, severskript & webbproduktion

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

5 Internet, TCP/IP och Tillämpningar

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Grundläggande nätverksteknik. F3: Kapitel 4 och 5

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

TNMK30 - Elektronisk publicering

Övningar - Datorkommunikation

1 PROTOKOLL. Nätverk. Agenda. Jonas Sjöström

Datakursen PRO Veberöd våren 2011 internet

5 Internet, TCP/IP och Applikationer

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

KomSys Hela kursen på en föreläsning ;-) Jens A Andersson

Datasäkerhet och integritet

Lite mer om CGI-programmering

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

Föreläsning 5: Stora datanät Från användare till användare ARP

Föreläsning 5: ARP (hur hitta MAC-adress) Från applikation till applikation

Från användare till användare ARP. (Maria Kihl)

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

Föreläsning 9 Transportprotokoll UDP TCP

Multimedia. Agenda. Internet. World wide webb och multimedia. Internet World Wide Web Webbpublicering

Föreläsning 6 Mål. Mänskor och IP adresser. Domain Name System (1/3) Numeriska adresser används i Internet

OSI-modellen. Skiktade kommunikationsprotokoll. OSI-Modellen. Vad är en bra skiktindelning? Fysiska skiktet. Länkskiktet

Kihl & Andersson: Kapitel 6 (+ introduktioner från kap 7, men följ slides) Stallings: 9.5, 14.1, 14.2, Introduktion i 14.3, 16.1

Kapitel 5: Lokala nät Ethernet o 802.x. Lokala nät. Bryggan. Jens A Andersson (Maria Kihl)

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Föreläsning 5. Vägval. Vägval: önskvärda egenskaper. Mål:

Datainsamling över Internet

Skärmbilden i Netscape Navigator

IP-baserade program. Telnet

5. Internet, TCP/IP tillämpningar och säkerhet

Mattias Wiggberg 1. Datorkommunikation, grundbegrepp. Skiktade kommunikationsprotokoll

Webbserver och HTML-sidor i E1000 KI

Lastbalansering för webbservrar

F1 Nätverk och meddelandesändning

Arbetsmaterial HTML pass 1 - Grunder

Informationsteknologi sommarkurs 5p, Datakommunikation

Internets historia i Sverige

Internets historia Tillämpningar

Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Webbtjänster med API er

Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system kl. 8 12

DA 2012: F13. Nätverk 2 Ann-Sofi Åhn

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) , kl 8-13

Föreläsning 9. Transportskiktet. User Datagram Protocol (1/2) Introduktion till modern telekommunikation Gunnar Karlsson, Bengt Sahlin 1

Stora datanät Från användare till användare. Jens A Andersson

Tentamen i Datorkommunikation den 10 mars 2014

IP Från användare till användare Vägval DNS Jens A Andersson (Maria Kihl) Att skicka data över flera länkar. Nätprotokoll

DIG IN TO Nätverksteknologier

PNSPO! CP1W-CIF mars 2012 OMRON Corporation

Hur BitTorrent fungerar

Instuderingsfrågor ETS052 Datorkommuniktion

Föreläsning 5: ARP (hur hitta MAC-adress) IPv4, IPv6 Transportprotokoll (TCP) Jens A Andersson

Distribuerade affärssystem

RUTINBESKRIVNING FÖR INSTALLATION AV KAMERA

Hämta data mha URLer Föreläsning 2b. Innehåll Klassen URL

Web Services. Cognitude 1

DIG IN TO Nätverksteknologier

Laboration 4 Rekognosering och nätverksattacker

Protokoll i flera skikt Fragmentering Vägval DNS. Jens A Andersson

5. Internet, TCP/IP och Applikationer

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Öppna standarder. Programvaror och tjänster 2014

F8 Meddelandesändning med UDP

DIG IN TO Nätverksteknologier

Topologi. Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Socket-programmering. Programmering för distribution. Klient/server ansatsen. Klient/server ansatsen TCP/IP protokollgrafen Java-programering

Piff och Puffs Chatsystem

Nätverksprogrammering. Tekniker för att skriva program som kommunicerar med varandra över ett nätverk. F1 Nätverk och strömmar.

Det är en Internet läser son gör det bekvämt för os ute på Internet. som t.ex Internet Explorer, firefox.

Laboration i Datakommunikation - Introduktion till Sockets och TCP/IP

F1 Nätverk och meddelandesändning

Datakommunikation I 5p

Ver Guide. Nätverk

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP

WINTEXT SERVER/ WINTEXT32 integrerad texttelefoni i tele- och datornät

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

Voice over IP / SIP. Switching Costs SIP. Motivation for VoIP. Internet Telephony as PBX replacement. Internet Telephony Modes.

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java

Kapitel 6, 7, o 8: IP DNS Vägval Från användare till användare Jens A Andersson (Maria Kihl) Att skicka data över flera länkar.

Internet och kommunikation. Kommunikation

Transkript:

previous next Nätverk grunder Föreläsning 1: 1: Introduktion till Internet Kursledare: Cristian Bogdan cristi@nada.kth.se Gästföreläsare: Björn Eiderbäck bjorne@nada.kth.se Innehåll Kort om grundläggande nätverkskoncept Grundläggande WEB-koncept Internetadresser Socketar en kort intro Referenser Harold, Java Network Programming, Elliotte Harold Hall, CORE Web Programming, Marty Hall Deitel et al, Internet and the World Wide Web How to Program Ince, Developing Distributed and E-commerce Applications

Programmering av nätverksapplikationer Varför nätverksapplikationer? Idag så ser vi ett allt större behov av applikationer som kan kommunicera mellan olika noder Ett exempel är WWW, email och news med mer asynkron kommunikation Andra exempel är distribuerade databaser, ljud, radio och video Vi har också behov av att bygga tillämpningar där vi mer direkt är medvetna om varandra delade anslagstavlor, whiteboards, delade ordbehandlare, styrssystem (robotar mm) och inte minst spel För att åstadkomma detta finns det stöd i dagens nätverk (tex i Internet som vi skall titta lite mer på) previous next 2

På Internet Det finns massor av olika typer av siter Auktioner, reklam, vanliga köpordersiter, portaler med likartade siter samlade, affärer, musik, film, intressesiter, mjukvara, info, rapporter, böcker, sökmotorer, undervisning,... Olika typer av applikationer Email News Webbaserade Databaser Klient-server, peer-to-peer Fristående Telefon Video... previous next 3

Nätverk Ett nätverk är en samling av datorer eller annan utrustning Termer nod en maskin i nätverket (dator, skrivare, brygga, läskautomat, ) värd (eng. host) noder som är fullt fungerande datorer kallas för värdar adress varje nod i nätverket har en unik adress i form av en serie av bytes paket moderna nätverk är paket-baserade, dvs informationen bryts ner till och skickas som paket. Paketen hanteras därefter separat protokoll en uppsättning regler som specificerar hur kommunikationen i nätverket skall gå till previous next 4

Internet Internet är det mest kända nätverket och idag det mest spridda Designat för att vara robust Första versionen konstruerat av ARPA en myndighet inom USAs försvar. Kallades då ARPANET som sedemera "växte" till Internet. (ARPANET) första versionen 1968. Då med ett fåtal anslutna datorer previous next 5

Lager (eng. layer) Ett nätverk har olika kommunikationslager Applikation (HTTP, FTP, Telnet, ) Transport (TCP, UDP, ) Nätverk (IP, ) Logisk förbindelse Fysiskt (Ethernet, FDDI, Local Talk, drivers, ) Nätverk och Internet grunder Applikation (HTTP, FTP, Telnet, ) Transport (TCP, UDP, ) Nätverk (IP, ) Som applikationsprogrammerare arbetar vi oftast i det övre lagret För speciella distribuerade tillämpningar arbetar vi också i Transportlagret Övriga lager behöver vi normalt inte bry oss om previous next 6

IP, TCP och UDP IP, Internet Protocol protokollet som används på nätverksnivå av Internet TCP, Transport Control Protocol ett anslutningsbaserat protokoll som erbjuder tillförlitligt datautbyte mellan två noder UDP, User Datagram Protocol ett protokoll som tillåter skickande av oberoende paket av data från en nod till en annan utan att varken garantera att paketen kommer fram eller ordningen mellan dem är samma vid mottagandet som vid utskickandet previous next 7

IP-adress och DNS Varje dator på Internet identifieras med ett fyra-bytes (dvs 32 bitars) tal Många datorer har fasta nummer andra tilldelas temporära vid anslutning (tex vid anslutning via modem hemifrån) 32 bitar räcker till 2 32 = 4294967296 adresser men det räcker ändå inte så det finns ett förslag, IPv6, med 128 bitars adresser, dvs 2 128 = 340282366920938463463374607431768211456 adresser (som ju bör räcka ett tag...fast inte riktigt till att adressera varje molekyl i universum...) DNS, Domain Name Server IP-adresser är svåra att komma ihåg för människor Därför konstruerades DNS som kan översätta mer lättihågkomna namn till IP-adresser Tex www.nada.kth.se blir 130.237.222.66 previous next 8

Portar Varje dator med en IP-adress har ett antal logiska portar för att kommunicera med sin omgivning en port är ett 16-bitars tal, dvs ett tal mellan 0 och 65535 Vissa portar är reserverade portnummer mellan 0 och 1023 reserverade för speciella ändamål exempelvis är följande portnummer reserverade för viss service port 7 för eko port 20-21 för ftp port 23 för telnet port 25 för smtp (dvs skicka e-post) port 80 för HTTP (dvs den port som normalt används av en WEB-server) port 110 för pop3 (dvs ett protokoll för att läsa e-post) Senare i kursen skall vi se hur vi själva kan skriva program som kommunicerar med både fördefinierade och via portar med andra nummer previous next 9

Internet och Intranet Internet är världens största IP-baserade nätverk Massor av olika typer av datorer från alla kontinenter är anslutna Varje dator har (eller får vid anslutning) en unik IPadress med vilken den sedan identifieras Det finns också andra nätverk med ungefär samma uppbyggnad Man brukar tala om intranet för att benämna lokala nätverk inom en organisation previous next 10

Klient-server-modellen Idag är en klient-server- (ibland klient-betjänt på svenska) modellen den förhärskande vid konstruktion av distribuerade, samarbetande tillämpningar en klient ber en server om en viss tjänst tex om att få reda på vad klockan är eller att skicka över en viss fil eller websida en server utför tjänster åt klienter tex svarar på vad klockan är, skickar över en fil eller websida från sitt lokala filsystem Alla typer av applikationer passar dock inte in i klient-server-modellen utan båda ändarna är både servrar och klienter samtidigt. Man brukar då prata om kommunikation peer-to-peer exempel en delad riteditor spel eller (det klassiska exemplet) telefonförbindelse previous next 11

RFC (Request For Comments) Internetstandards har utvecklats på ett öppet sätt där förslag ofta presenteras öppet redan i prototypstadiet Protokollen finns att läsa på Internet Protokollen är indelade i olika nivåer obligatoriska, dvs sådana som måste implementeras av varje host, som IP rekommenderade som normalt bör implementeras, tex TCP, SMTP, UDP och Telnet) valfria, som MIME begränsade, som oftast inte behövs icke rekommenderade, dvs bör inte implementeras historiska, dvs utgångna informativa, tex sådana som är konstruerade utanför RFC men ändå väldigt användbara eller sådana som är nyttiga men inte erbjuder ett protokoll previous next 12

HTTP, HTML, XHTML, MIME och URL HTTP, Hypertext Transfer Protocol standarden som beskriver hur en webklient och server kommunicerar och utbyter data HTML, Hypertext Markup Language standardspråket för konstruktion av WEB-sidor XHTML, EXtensible HyperText Markup Language HTML blandat med XML med slutna parenteser och syntax MIME, Multipurpose Internet Mail Extensions den öppna standarden som beskriver hur multimedia skall skickas via e-post URL, Uniform Resource Locator definierar hur en fil otvetydigt kan refereras på Internet http://www.w3schools.com previous next 13

URL, URI och URN URI, Uniform Resource Identifier Nätverk och Internet grunder definierar hur en resurs otvetydigt kan refereras på Internet har undergrupperna URL och URN URL, Uniform Resource Locator refererar en adress på Internet ser ut så här: protokoll://värdnamn[:port]/väg/filnamn#avdelning exempel http://www.gt.kth.se/education/kurspm/4k1525/default.html#innehall URN, Uniform Resource Name en pekare till en viss resurs utan att ange dess aktuella placering previous next 14

HTML och SGML HTML har sitt ursprung i SGML Nätverk och Internet grunder SGML skapades under tidigt 70-tal Man beskriver en texts semantik snarare än dess presentation HTML skapades under tidigt 90-tal Är lingua franca för att publicera hypertext på weben Har kommit i flera versioner och utvecklas forfranande Se gärna http://www.w3.org/ för mer information previous next 15

HTTP HTTP, Hypertext Transport Protocol Nätverk och Internet grunder standarden som beskriver hur en webklient och server kommunicerar och utbyter data använder MIME för att avkoda data använder TCP/IP för dataöverföring klienten skickar ett meddelande i stil med GET /index.html HTTP/1.1 för att hämta WEBsidan index.html från aktuell server Se gärna http://www.w3.org/protocols/ för mer information previous next 16

MIME MIME, Multi Internet Mail Extension den öppna standarden som beskriver hur multimedia skall skickas via e-post anger typen för data som skickas, tex text news plain html postscript, pdf zip image audio video jpeg, gif, tiff mpeg quicktime previous next 17

CGI CGI, Common Gateway Interface Används av klienter för att kunna anropa program på servern CGI-program kan skrivas i många olika språk, tex Perl, C, BASIC eller AppleScript CGI-program körs som fristående processer initierade av HTTP-servern Ett CGI-program kan antingen köras utan argument eller ges argument via WEB-sida HTML inkluderar sätt att kommunicera med CGIprogram previous next 18

Server Side Includes (SSI) Sidor som kan bearbetas av servern innan dom skickas till klienten Idag istället ASP (Active Server Pages) Servlets och JSP (Java Server Pages) SSP (Smalltalk Server Pages) och liknande previous next 19

Klienter och servrar (som sagts tidigare ) Dom flesta moderna nätverksprogram baseras på en klient-server-modell En server är ett program som erbjuder tjänster En klient är ett program som frågar en server om tjänster En server väntar på att klienter skall ansluta En klient initierar en "konversation" previous next 20

Socketar Definition: En socket är en ändpunkt för en tvåvägskommunikation mellan två program som körs i nätverket. En socket är bunden till ett portnummer så att underliggande lager kan identifiera vart data skall skickas. Socketar finns av två typer Serversocketar som väntar på att klienter skall ansluta sig Klientsocketar som ansluter till servrar I Java representeras socketar av klasserna ServerSocket och Socket previous next 21

Varför socketar Ger oss möjlighet att på ett smidigt och uniformt sätt kommunicera mellan maskiner av olika typer Möjliggör programspråksoberoende kommunikation Enkelt att få program som är skrivna i olika programspråk att kommunicera previous next 22

Socketar typiskt klientprogram 1. Skapa en socket. 2. Öppna in- och utström mot socketen. 3. Läs från och skriv på socketen. 4. Stäng strömmarna. 5. Stäng socketen. previous next 23

Socketar typiskt serverprogram 1. Skapa en server-socket. 2. Lyssna efter anslutande klienter 3. Skapa socket mot varje anslutande klient 4. Öppna in- och utström mot klientsocketerna. 5. Läs från och skriv på klientsocketen. 6. Stäng strömmarna. 7. Stäng klientsocketerna. 8. Stäng serversocketen. previous next 24