Internet Internet Diensten Informatie Maatschappij Prof. dr. R.J. Meijer Oktober 2004.

Post on 14-Jun-2015

220 views 3 download

Transcript of Internet Internet Diensten Informatie Maatschappij Prof. dr. R.J. Meijer Oktober 2004.

Internet Internet Diensten

Informatie Maatschappij

Prof. dr. R.J. MeijerOktober 2004

Het OSI modelApplicatielaag

toepassingsspecifieke functies

Presentatielaag:functies voor het transport- en ontvangstrijp maken van informatie

Sessielaagfuncties voor het opzetten, afbreken van verbindingen en synchroniseren van informatie

Transportlaagtransport van data over een rechtstreekse verbinding tussen zenders en ontvangers

Netwerklaag informatietransport en -routering functies over een virtueel net (internet) gevormd door de interconnectie van vele datalink lagen

Datalink laagFoutvrij transport tussen aangrenzende nodes

Fysieke laagProtocol over fysieke medium

TransportmediumElectrische en mechanische standaarden

PDU

Applicatie laag

Presentatie laag

Sessie laag

Transport laag

Netwerk laag

"Data link" laag

Fysieke laag

Applicatie laag

Presentatie laag

Sessie laag

Transport laag

Netwerk laag

"Data link" laag

Fysieke laag

Computer 1 Computer 2

Internet en Internet Diensten

FTPFTP2121

DNSDNS5353

TFTPTFTP6969

TELNETTELNET2323

PortPort

TCPTCP

PortPort

UDPUDP

TCP(6)TCP(6) UDP(17)UDP(17)

IP layerIP layer

datalink layerdatalink layerEthernetEthernet Token RingToken Ring FDDI FDDI

COMMUNICATIONS

De Informatie Maatschappij is veel meer dan gadgets ...

Internet

OSI

Presentation

Application

Session

Transport

Network

Data Link

Physical

TCP protocol stack / adressen

TCP/IP

IP, ARP, ICMP

FTP, SMTP, WWW

TCP, UDP

Ethernet, ATM, X.25, PSTN

TCP/IP

LLC

MAC

IP addresses

End User ID’s

Protocol names

None

LSAP numbers

MAC addresses

Port Numbers

SIP

PC protocol stack

Applicatie

Poort nummerApplicatie

Poort nummerApplicatie

Poortnummer

TCP, UDP

Protocol names

TCP, UDP

Protocol naam

TCP/IPNetwerkkaart

MAC addresses

TCP/IPNetwerkkaart

MAC adres

NDIS

Protocol ID

PPP

TCP/IPSeriële poort

HDLC adres

IP

IP adresIP

IP adresIP

IP adres

4

3

2

TCP/IPSeriële poort

HDLC adres2 / 1

Laag

LLCLSAP

PC Protocol Stack (2)Windows XP

DNS-Round Robining Reliability & load balancing of

Internet services

DNS

www1.xxx.org139.63.64.12

www2.xxx.org139.63.64.13

www3.xxx.org139.63.64.14

www.xxx.org

139.63.64.12139.63.64.13139.63.64.14139.63.64.12139.63.64.13

….

www.caida.org

Internet kaart

Topology of the Net©Bell Labs

Datacommunicatie

Presentation

Application

Session

Transport

Network

Data Link

Physical

Presentation

Application

Session

Transport

Network

Data Link

Physical

ApplicationTransport

bridge

router’s

TCP/IP model

Applicaties

1 Ethernet cable

4 TCP UDP

3 IPARP ICMP

2 Ethernet 2 PPP

1 Modem / ISDN/ ADSL

1

User Datagram Protocol (UDP)

Connectionless Geen

– flow control,– reliability, – error recovery

4

3

2

Ethernet cable

TCP UDP

IPARP ICMP

Ethernet

The Transmission Control Protocol (TCP) (1)

Connection oriented Stream oriented

data transfer service (“byte by byte”)

Bytes packed into segments

4

3

2

Ethernet cable

TCP UDP

IPARP ICMP

Ethernet

Het Transmission Control Protocol (TCP) (2)

“Push” service garandeert verzending op verzoek van applicatie (sluit segment af)

Flow control Multiplexing voor meerdere applicaties

via “port numbers” (b.v. RPC=111, SMTP=25)

Graceful close (verbinding wordt pas afgebroken na volledige acknowledge)

TCP Connection State diagram

Closing

Time Wait

FIN wait2

Last Ack

Close wait

Closed

wait1FIN

Rcvd

SYN

Established

Listen

Sent

SYN

Closed

rcv SYNsnd ACK

SENDsend SYN

rcv SYNsend SYN,ACK

rcv ACK of SYN rcv SYN, ACKsend ACK

CLOSEdel TCB

•TCB•Transmission Control buffer(holds connection id +info)

•MSL•Max Segment Life Time

CLOSEdel TCB

active OPENcreate TCBsend SYN

passive OPENcreate TCB

rcv FINsend ACK

CLOSEsend FIN

CLOSEsend FIN

rcv ACK of FIN

rcv FINsend ACK

rcv ACK of FIN

CLOSEsend FIN

Timeout=2MSLdelete TCB

rcv FINsend ACK

Firewall

Applicatie

TCP UDP

IP

LLC

Physical

Application

TCP UDP

IP

LLC

Physical

Analyse

Analyse

Analyse

LLC

LoggingLogging

Logging

Firewall yes/noWWW

Telnet server

TCP UDP

IP

LLC

Analyse

Analyse

Analyse

LLC

HTTPTelnet System

passwordHTTPHTTP

HTTP

HTTPHTTP

WWW

TCP UDP

IP

LLC

HTTPTelnet System

passwordHTTPHTTP

geen telnet server

dus geen

reactie

Architectuur met firewallInternet

database

Werkplekken met

Databaseclients

email

Webserver

Remote Access serverF

irewall

Local Area Network

Architectuur zonder firewall

RouterInternet

database

Werkplekken met

Databaseclients

email

Webserver

Remote Access server

Local Area Network

ICT anatomie van groot bedrijf

bridge

of

router

Centrale IT faciliteiten waaronder email en Web Proxy server

firewall

Internet

Centrale

Router Switch

Verbindingen naar andere

bedrijfslocaties

Internet Diensten

De interactie tussen clients en servers

Application Program Interface (API)

Sockets

Application

Application

TCP

IP

Socketoperaties

PropertiesProtocolRemoteHost

RemotePortStateBytesReceived….

EventstcpServer_ConnectionRequesttcpServer_DataArrivaltcpServer_Error

MethodstcpServer_AccepttcpServer_GetDatatcpServer_ClosetcpServer_Listen

010110111

Demonstratie

Maken Winsock applicatie

NFS

Telnet SMTP XWIN HTTP RPC

TCP/IP Applicatie Protocollen

TCP UDP

FTP

SNMP ....

FileSystem

ServerPI

UserInterface

UserPI

UserDTP

User

FileSystem

ServerDTP

FTP commands

FTP replies

Data connection

File Transfer Protocol (FTP)

FTP ModelPI: protocol interpreterDTP: Data transfer process

Telnet connection betweenPI’s !

ftp (host) multics<CR>

username Doe <CR>

password mumble <CR>

retrieve (local type) ASCII<CR>(local pathname) test 1 <CR>(for. pathname) test.pl1<CR>

type Image<CR>

store (local type) image<CR>(local pathname) file dump<CR>(for.pathname) >udd>cn>fd<CR>

terminate

Connect to host S, port L, establishingcontrol connections.<---- 220 Service ready <CRLF>.USER Doe<CRLF>----><---- 331 User name ok, needpassword<CRLF>.PASS mumble<CRLF>----><---- 230 User logged in<CRLF>.

User-FTP opens local file in ASCII.RETR test.pl1<CRLF> ----><---- 150 File status okay; about to opendata connection<CRLF>.Server makes data connection to port U

<---- 226 Closing data connection, filetransfer successful<CRLF>.

TYPE I<CRLF> ----><---- 200 Command OK<CRLF>

User FTP opens local file in Image.STOR >udd>cn>fd<CRLF> ----><---- 550 Access denied<CRLF>QUIT <CRLF> ---->Server closes all connections.

ServerEmail Client

FileSystem

Sender

SMTP

SMTPReceiver

SMTP FileSystem

TCP

IP...

TCP

IP...

Simple Mail Transport Protocol

Internet

Client SMTP Server SMTP

TCP connectionestablishment (port 25)

Helo Alpha.ARPA220 ready for mail

Beta.ARPAMAIL FROM: <Smith@Alpha.ARPA>

250 OK

RCPT TO: <Jones@Beta.ARPA>250 OK

RCPT TO: <Green@Beta.ARPA>550 No such user there

DATA354: Start mail input; end with <CRLF>.<CRLF>

hallo, dit is een test(mail received)<CRLF>.<CRLF>250 OK

QUIT221 Beta.ARPA Service closing transmissionchannel

TCP

TCP connection cleared

HTTP – het WWW protocol Tools zorgen er gelukkig voor dat je het

niet (meer) met de hand commando’s moet geven

HTTP - Hypertext Transfer Protocol Overview

Wel– HTTP is de basis van het Web en alles wat

er uit ontstaat HTTP meer en meer de drager van

specifieke applicatieprotocollen

De Web Server

ServerHTTP GET, POST

Responses

Requests, naar tier 3:•Fileservers (met HTML pagina’s)•Databases

antwoorden

Resourcemanagement

Security

Transactions

Server management

Scripts, programma’s die bepalen wat de resultaten zijn

HTTP basics: Hyper Text Transport Protocol

– Tranporteert resources (text, scripts binaries, XML, ...) waar de URL naar wijst

URL– Uniform Resource Locator– E.g. www.science.uva.nl/

~rmeijer/index.html

HTTP is een client-server protocol

HTTP client opent een TCP/IP connection naar HTTP server

HTTP zendt een request En krijgt (meestal) van de server een

response Server sluit de connectie HTTP is dus state less, tussen twee

requests door wordt geen verbindinginformatie in bewaard

HTTP requests en responses hebben het zelfde formaat en zijn eenvoudig te

interpreteren

Regel 1 met “methode” Nul of meer header lines Lege regel dus CRLF Optionele message body

<regel 1, verschillend voor request en responses>

Header1: waarde1

Header2: waarde2

Header3: waarde 3

<CRLF>

<optionele message body, (binaire) data >

Regel 1 Voor requests:

– Drie delen gescheiden door spaties– <method name> <pad naar requested resource> <HTTP

versie>» GET /path/to/file/rob.html HTTP/1.0

Voor responses– Wordt status regel genoemd– Drie delen gescheiden door spaties– <HTTP versie> <response status code> <engelse

uitleg/reden voor de status code>» HTTP/1.0/ 200 OK

Response codes– 1xx informational messages– 2xx succes messages– 3xx redirect naar andere URL– 4xx client error messages– 5xx server error messages

Header lines Informatie voor request en response Of informatie over object in de message body Format:

– <Header name: value> <CRLF> HTTP 1.0

– 16 headers– Geen verplicht

HTTP 1.1– 46 headers– Host header is verplicht, er mogen namelijk meer

webdomeinen op 1 ip adres aanwezig zijn» Host: www.science.uva.nl

Request Methods GET

– Ophalen resource HEAD

– Ophalen van alleen de response headers» Dus niet van de resource» Dus message body wordt achterwege gelaten

POST– Zendt informatie naar een resource op server– Meestal HTML “form” data naar scripts

POST /path/script.cgi HTTP/1.0

FROM: rob@science.uva.nl

User-Agent: HTTPtool/2.4

Content-Type application/x-www-form-urlencoded

Content-Length: 32

Home=Cosby&favorite+flavor=flies

ArchitectuurBusiness applicaties

InternetBrowser

WebServer

ApplicationServices Data

Firew

all

Tier 1 Tier 2 Tier 3

Presentatie Web interfaceBusinessLogic

Business applicaties

InternetBrowser

InternetInformationServer 4.0

Transactionserver Data

Tier 1 Tier 2 Tier 3

Presentatie

BusinessLogic

ActiveServerPages

(scripts)

Objects

NT Server

MessageQueue

Firew

all

Computercentre

To / fromother

applications

Global.asa

.asp

Product Info

Merchant Info

Shopper Info

Order Init

Order Check

Item Price Adjust

Order Price Adjust

Shipping

Handling

Tax

Order Total

Inventory

Payment

Accept

.pcf

Commerce Runtime Architecture

Ord

er Pip

eline

Commerce ServerObjects

Content

OrderForm

DataFunctions

Datasource

DBStorage

MessageManager

CookieStorage

Page

ShopperManager

TrafficLogFile

TrafficTable

•Store Data•Shopper Profiles

NT

/IIS

SQL Server orODBC Database

Service integratie /dienstbesturingService integratie /dienstbesturing

Video-on-demand

Telefonie

Businessapplications

Web browser

Telefonie

Video

WWW

Netwerk

Server netwerkconfiguratie

Program

If … Then…Else….End If

Internet 1

Internet 2

Beheernetwerk

Classificatie van bedreigingen

Classificatie van bedreigingen

Integriteit Vertrouwelijkheid Authenticiteit BeschikbaarheidFalsificatie vandata

Ongeautoriseerdetoegang tot data

masquerading /spoofing

Ongeautoriseerdetoegang totdiensten

Her-versturen Afluisteren repudiation Excessiefdienstgebruik

Berichten volgordeveranderen

Verkeersanalyse misrouting denial of servicespamming

Trojaansepaarden

Verlies vananonimiteit

Corrupteprotocollen

Text DocumentText Document

(tekst document met een logging van pop3 enSMTP waarin gespamd wordt)

XML en toepassingen

XML

<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="portfolio.xsl"?><portfolio xmlns:dt="urn:schemas-microsoft-com:datatypes" xml:space="preserve"> <stock exchange="nyse"> <name>zacx corp</name> <symbol>ZCXM</symbol> <price dt:dt="number">28.875</price> </stock> <stock exchange="nasdaq"> <name>zaffymat inc</name> <symbol>ZFFX</symbol> <price dt:dt="number">92.250</price> </stock> <stock exchange="nastata"> <name>zaffymat inc</name> <symbol>ZFFX</symbol> <price dt:dt="number">92.250</price> </stock> <stock exchange="dfdfdf"> <name>zaffymat inc</name> <symbol>ZFFX</symbol> <price dt:dt="number">92.250</price> </stock> <stock exchange="nasdaq"> <name>zysmergy inc</name> <symbol>ZYSZ</symbol> <price dt:dt="number">20.313</price> </stock></portfolio>

XSL <?xml version='1.0'?><xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <HTML> <BODY> <TABLE BORDER="6"> <TR> <TD>Symbol</TD> <TD>Name</TD> <TD>Price</TD> </TR> <xsl:for-each select="portfolio/stock"> <TR> <TD><xsl:value-of select="symbol"/></TD> <TD><xsl:value-of select="name"/></TD> <TD><xsl:value-of select="price"/></TD> </TR> </xsl:for-each> </TABLE> </BODY> </HTML> </xsl:template></xsl:stylesheet>

Click voor ie

XSL(XML) …

XSL(XML) HTML (in dit geval)

Click voor ie

Internet diensten 2004 wordt vooral gebruikt voor op personen

gerichte communicatie en diensten– www– Email– Kazaa– www.funda.nl– MSN Messenger– Customer support – updates, faq, routeplanners

Tot nu toe weinig kosten aan verbonden

Informatie Maatschappij

De interactie tussen clients en servers

Web gebruik…HTTP GET

HTTP Response with HTML page

Application

XML

XML Response

Webservices(from Webservice essentials,

E.Cerami)

Web service– Any service available over the

Internet»That uses a standardized XML messaging

system

XML

XML

Webservice Nice to have

– Self describing– Discoverable

Wordt wel complexer….

Webservice Implementations

Alternatives– XML RPC (remote procedure call)– SOAP– HTTP Post/Get

Web Service Roles

Service

RequestorService

Provider

Service

Registry

1, discover services

2, use services

Web Service onderdelen

Discovery - UDDI

Description - WSDL

XML Messaging SOAP, XML

Transport – HTTP, FTP,SMTP

Webservices

Webservice life cycle

SOAP Message

SOAP Message

Envelope (Required)

Header(s) (Optional)

Body(s) (Required)

Fault(s) (Optional)

Simple Object Application Protocol

W3C

WSDL Webservic

e description language

W3C

<definitions>:Root WSDL Element

<Types>: transmitted data types

<message>: transmitted messages

<portType>: supported functions /operations

<binding>: wire formats

<service>: location of service

Web ServicesInvocatie Modellen

Client Server<input>

Client Server<1, input>

<2, output>

Client Server<1, output>

<2, input>

Client Server<output>

One way

Request response

Solicit response

Notification

Application Program Interface (API)

Sockets zijn interfaces naar de TCP/IP protocol stacks op een computer

Applicaties worden “op” sockets gebouwd

Maar vrijwel niemand doet dat nu nog

Men gebruikt – Webservers– Applicatie Servers

die een groot (ste) gemene deel van Server ontwikkeling aanbieden

TCP

IP

HTTP

HTTP

Application

Application

https://webtel.telecom.tno/webtel/wholesale/access/connectab?serviceProviderName=GoNorth&password=xxx&subscriptionID=236b53:f2c7bbb4b5:-7aee&endUser=meijer&aNumber=0642934002&bNumber=0651556619

Een telefoongesprek opzetten is het zelfde als het

bekijken van een webpagina

private void ButtonCall_Click(object sender, System.EventArgs e){

WebApplication10.com.kpn.research.t_lab.ictnn1.WebTelSoapServicewt = new WebApplication10.com.kpn.research.t_lab.ictnn1.WebTelSoapService();WebApplication10.com.kpn.research.t_lab.ictnn1.Responsert = new WebApplication10.com.kpn.research.t_lab.ictnn1.Response();///make callrt = wt.ConnectAB(“GoNorth",“xxx","236b53:f2c7bbb4b5:-7aee","meijer", TextA.ToString(),"",TextB.ToString(),"");

TextResult.Text=rt.ToString();}

Telephony-ASP

SME 1

SME 2

SME 2

Call Notification

Traditional Future

Technologies for information exchange

Technologies for the abstraction of individual computers – aka middleware

Contemporary

Technologies for information exchange

DNAsequencer

DB 3dSuper

computer

Workstation

Technologies to use the “physica”l facilities of others

Presentation

Session

Transport

Link

Data Link

Physical

Application

OSI

Specifications of protocols between computers and/or telecommunication systems

Van Telematica naar Information Society

Technologies

Middleware

Application

Virtual Computer

computercomputer computer

Technologies for the abstraction of individual computers – aka middleware

Maar op deze manier is een ding online gezet, en dat is het voorbeeld

voor veel meer …

i

wireless link

computer and

sensors

i

i

i

i

i

Teaspoon SoftwareOnline

internet

Step 1: Think and link the things• Build in a computer• Give that computer control• Link the computers (via the Internet)

Step 2: Create virtual “agent” for a group of things

• That offers easy, controlled, service, to many “customers” via the internet

• “the service of an online resource”• Forget about the individual things

… uiteindelijk bepaald de virtuele wereld hoe de echte

wereld interactie heeft

Caffeine advisor

Human caffeine model

Billing Software

Teaspoon SoftwareOnline

Telephone Company

Step 3: Service integration and creation• Software integrates the services and

interactions of various resources into a new service

namespace FarmingApplication10{

/// <summary>/// Test program for optimal farming field management, trial 10: /// see if we can image analyze the field, measure soil composition and get /// an irrigation/// </summary>public class WebForm10 : System.Web.UI.Page{

/// everything starts with a mouse click private void ButtonCall_Click(object sender, System.EventArgs e) { /// declare and initialize the farming field object

farmingField field = new farmingField(“GreenField”, “Lot 7”); Try

{///connect the video measurement system for 20 seconds

field.Image = new VideoImage(field.observationPointSet(19),”20 s”); ‘make imagefield.Soil = new SoilImage(field.observationPointSet(19)); ‘measure soil composition/// Obtain growth analysis, but first reserve computer and network capacity/// then load the growth program and field.State.GrowthAdvise = new field.farmingAnalysis.growth(“TUCCC”,”Telecompany”,”GreenFieldProgramGrowthTest10”);/// Execute only the irrigation adviceirrigationResult IR = new field.garmingAnalysis.growth.irrigate(“Water Institute”);}

Catch{ MsgBox(“Experiment not succesful”);}

}}

Met software wordt de informatiemaatschappij aan elkaar

geschroefd

The Underground

Computer Company

The Vibration Sensor

Company

The Secure and

Anonymous Image

Interpretation Group

The Precision

Farming ASP Coop

The Water

Intstitute

The Tele-company

Green Field

Farming

Watermanagement ...

Computer infrastructuur

Exploitatie

Informatieverwerking

Sensorsysteem met

elektronische dataoverdracht

Ontvanger

Toepassing 1Instantie 1

Toepassing 2Bedrijf

Toepassing 3Instantie 2

Toepassing 4Kennisinstelling

… telecommunicatie en computers worden in alles ingebouwd: het fundament van de informatiemaatschappij …

• in our things• in our cities• in our environment• in our country• And in us

Why things should things link and think? Waarom doen we dit? Het is het westerse

antwoord om welvarend te blijven. Met techniek halen we er meer uit…

Less security– More technology

Less care– More technology

Less roads– More technology

Less economy– More technology

Less fun– More technology

Ecological border with Information society technologies

Ecological border withhout Information society technologies