Internet and Intranet Fundamentals Class 2 Session A.
-
Upload
hector-gordon -
Category
Documents
-
view
231 -
download
0
Transcript of Internet and Intranet Fundamentals Class 2 Session A.
![Page 1: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/1.jpg)
Internet and Intranet Fundamentals
Class 2
Session A
![Page 2: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/2.jpg)
Topics
• Client / Server Computing– Definitions– Examples– Communications Protocols
![Page 3: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/3.jpg)
Definitions
• Preliminaries– http://www.whatis.com/
• Distributed Computing– spreading computational capability and data
over physically separated computers– usually connected via a network
![Page 4: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/4.jpg)
Definitions
• Distributed Computing– Client / Server
• Distributed Computing Environment (DCE)– Open Software Foundation (OSF)
Remote Procedure Calls
• TCP / IP Berkeley Sockets
– Distributed Objects• Object Management Group CORBA
– Common Object Request Broker Architecture
• Java Remote Method Invocation (RMI)
![Page 5: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/5.jpg)
DefinitionsClient / Server
• Client– makes request– initiates communication– may have a GUI and human
• but not always
• Server– fulfills request– passively waits for requests– usually multitasking machine
![Page 6: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/6.jpg)
DefinitionsClient / Server
• Sometimes “Client” refers to the – host– platform– machine (often a desktop machine)
• but often refers to the – client-side software
• examples: Netscape Communicator, Eudora
![Page 7: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/7.jpg)
DefinitionsClient / Server
• The Server quite often controls access to shared resources such as– file systems (disks, tapes, etc.)– printers– shared communications facilities
• email server
• Same ambiguity applies to term “Server” as to “Client”
![Page 8: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/8.jpg)
DefinitionsClient / Server
• Fat Clients– full-featured, large applications– use servers as data servers– not much computational power on the server
side
• Thin Clients– small applications– downloaded from the network– relies on computational power of server
![Page 9: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/9.jpg)
DefinitionsClient / Server
• Fat Client Example– Web Browser– Eudora– Visio
• Thin Client– Java Applets– JavaScript Applications inside of HTML Pages– Note dependence on Fat Client (i.e., the
browser)
![Page 10: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/10.jpg)
DefinitionsClient / Server
• Browser Developments
• “Gecko”– really NGLayout
• smaller, faster, layout engine
• replacement for Mozilla
• developed under mozilla.org
– trying to put Mozilla on a diet
http://www.mozilla.org
![Page 11: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/11.jpg)
Definitions
• DCE’s Remote Procedure Calls– uses subroutine call paradigm– directories required to register available
procedures– stub compiled into local executable
• forwards call to local runtime program that knows how to communicate with remote program
– server side also has stub and its own local runtime program
![Page 12: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/12.jpg)
DefinitionsRPC
Called RemoteProgram
Stub I/F
Server-Side
RuntimeProgram
LocalCallingProgram
Stub I/F
Client-Side
RuntimeProgram
![Page 13: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/13.jpg)
DefinitionsTCP / IP Berkeley Sockets
• Defined in late 70’s early 80’s
• Shipped with versions of Berkeley Unix in early 80’s (1982)– endpoints in connections– Transport Layer– like Unix file descriptors and pipes (but 2-way)
![Page 14: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/14.jpg)
DefinitionsTCP / IP Berkeley Sockets
• Five Basic Attributes of a Socket Connection– Local Port (chosen by OS on client side)– Local IP Address– Remote Port– Remote IP Address– Protocol (“tcp”, “udp”, etc.)
• Each Connection Has Own 5-tuple
![Page 15: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/15.jpg)
DefinitionsTCP / IP Berkeley Sockets
• Server Listens on (Well-Known) Port
• Clients Attempts Make a Connection
• Server Accepts the Connection
• Server Receives Request from Client
• Server Interprets Request– performs some action
• Sends Response to Client
• Shuts Down the Connection
![Page 16: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/16.jpg)
ExamplesExercises
• HTTP: HyperText Transfer Protocol
• Port 80– Exercise 1:
•telnet www.ora.com 80•HEAD / HTTP/1.0<CR><CR>
– Exercise 2:•telnet www.microsoft.com 80•HEAD / HTTP/1.0<CR><CR>
![Page 17: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/17.jpg)
ExamplesExercises
HTTP/1.0 200 OKServer: WN/1.15.1Date: Tue, 19 Jan 1999 06:34:57 GMTLast-modified: Mon, 18 Jan 1999 22:39:54 GMTContent-type: text/htmlTitle: www.oreilly.com -- Welcome to O'Reilly & Associates!Link: <mailto:[email protected]>; rev="Made"
Connection closed by foreign host.
Results: www.ora.com
![Page 18: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/18.jpg)
Examples Exercises
HTTP/1.0 200 OKServer: Microsoft-IIS/4.0Content-Location: http://207.46.131.137/Default.htmDate: Tue, 19 Jan 1999 06:37:41 GMTContent-Type: text/htmlAccept-Ranges: bytesLast-Modified: Mon, 18 Jan 1999 20:09:06 GMTETag: "05d75661e43be1:5753c"Content-Length: 19075
Connection closed by foreign host.
Results: www.microsoft.com
![Page 19: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/19.jpg)
Examples Exercises
HTTP/1.0 200 OKServer: Netscape-Enterprise/2.01Date: Tue, 19 Jan 1999 06:36:18 GMTSet-cookie: sessionid=ONQBNUAAABOEFAMUVFZE4GUBSSUXEUDO; domain=.sun.com;path=/Content-type: text/html
Connection closed by foreign host.
Results: www.sun.com
![Page 20: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/20.jpg)
Examples Exercises
• SMTP: Simple Mail Transport Protocol
• Port 25– Exercise 1:
•telnet cyber55.csz.com 25
– Exercise 2:•telnet mail.ucr.edu 25
![Page 21: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/21.jpg)
Examples Exercises
$ telnet cyber55.csz.com 25Trying 38.253.188.55...Connected to cyber55.csz.com.Escape character is '^]'.220 cyber16.csz.com ESMTP Sendmail 8.8.5/8.6.9 ready at Mon, 18 Jan 1999 23:00:1 0 -0800HELO bob.csz.com250 cyber16.csz.com Hello [email protected] [38.253.188.29], pleased to meet youMAIL From:<[email protected]>250 <[email protected]>... Sender okRCPT To:<[email protected]>250 <[email protected]>... Recipient ok
![Page 22: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/22.jpg)
Examples Exercises
DATA354 Enter mail, end with "." on a line by itselfThis is my data.It can go over several lines..250 XAA20311 Message accepted for deliveryQUIT221 cyber16.csz.com closing connectionConnection closed by foreign host.
![Page 23: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/23.jpg)
DefinitionsDistributed Objects
• Object Management Group (OMG) CORBA– Common Object Request Broker Architecture– ORB = Object Request Broker
• brokers components between clients and servers
• client does not need to know the where the server is or how its interface works
• like a registry
![Page 24: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/24.jpg)
ExamplesDistributed Objects
• Application Servers / Frameworks
– Netscape Application Server (NAS)– IBM WebSphere Application Server– Bluestone’s Saphire/Web (R) Application
Server Framework
![Page 25: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/25.jpg)
ExamplesDistributed Objects: NAS
2-tier
Multi-tier
![Page 26: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/26.jpg)
ExamplesDistributed Objects: NAS
![Page 27: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/27.jpg)
Application ServersSome Links
NAS:http://home.netscape.com/appserver/v2.1/whitepaper/index.html
![Page 28: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/28.jpg)
DefinitionsJava Remote Method Invocation
• Like CORBA– but both sides have to be written in Java
• Each RMI Server Has Registry– for looking up object
• Client Can Invoke Methods Remotely– as if on local machine
![Page 29: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/29.jpg)
DefinitionsJava Remote Method Invocation
• RMI Like Traditional RPC– but RPC is language-neutral
• hence least common denominator approach
– RMI is platform-neutral• hence full featured use of Java’s and the platform’s
capabilities
– RMI Object-Oriented
http://java.sun.com:80/marketing/collateral/javarmi.html
![Page 30: Internet and Intranet Fundamentals Class 2 Session A.](https://reader036.fdocuments.us/reader036/viewer/2022081511/56649e405503460f94b31bcc/html5/thumbnails/30.jpg)
SummaryClient / Server
• A Type of Distributed Computing– most common type
• Client Initiates Request
• Server Passively Waits, then Responds to Client Request
• Berkeley Sockets– most widely used mechanism facilitating client /
server computing on the Internet