Post on 14-Jun-2015
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
Webserver
Remote Access serverF
irewall
Local Area Network
Architectuur zonder firewall
RouterInternet
database
Werkplekken met
Databaseclients
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