CMPE Senior Design Project Group Members: Jose A Montoya (CMPE) Carlos Olvera (CSCI)
CMPE 151: Network Administration
description
Transcript of CMPE 151: Network Administration
![Page 1: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/1.jpg)
Spring 2004
CMPE 151: Network Administration
Servers
![Page 2: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/2.jpg)
Spring 2004
Announcements Unix shell+emacs tutorial.
![Page 3: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/3.jpg)
Spring 2004
Basic Servers Telnet/Finger FTP Web SSH NNTP
Let’s look at the underlying protocols.
![Page 4: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/4.jpg)
Spring 2004
Client-Server Model
CLIENT SERVER
Request
Response
![Page 5: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/5.jpg)
Spring 2004
Client-Server Model
CLIENTSSERVERS
![Page 6: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/6.jpg)
Spring 2004
Client-Server Model
![Page 7: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/7.jpg)
Spring 2004
Telnet
![Page 8: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/8.jpg)
Spring 2004
Telnet Remote terminal protocol. Allows users to login remotely.
![Page 9: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/9.jpg)
Spring 2004
Telnet
User’smachine
Telnetclient
OSTCP connectionover Internet
Telnetserver
OS
![Page 10: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/10.jpg)
Spring 2004
Telnet basic operation When user invokes telnet, telnet client
on user machine establishes TCP connection to specified server.
TCP connection established; user’s keystrokes sent to remote machine.
Telnet server sends back response, echoed on user’s terminal.
Telnet server can accept multiple concurrent connections.
![Page 11: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/11.jpg)
Spring 2004
Handling heterogeneity Telnet protocol specifies standard
data exchange: network virtual terminal (NVT).
Telnet client and server make translation.
![Page 12: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/12.jpg)
Spring 2004
Finger
![Page 13: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/13.jpg)
Spring 2004
Finger Returns information on users
currently logged on to a specified host.
Finger server is often not running. Implementation error in early version
was used as the entry point for the “Internet worm” (1988).
Reveals private information.
![Page 14: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/14.jpg)
Spring 2004
Finger (cont’d) Also uses TCP. Client opens TCP connection to finger
server. Client sends query. Server processes query, sends reply
back, and closes connection. If finger server not running, client
receives error message (e.g., “Connection refused”).
![Page 15: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/15.jpg)
Spring 2004
File Transfer
![Page 16: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/16.jpg)
Spring 2004
File Transfer
“On-line” versus “off-line” access. Underlying transport protocol?
![Page 17: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/17.jpg)
Spring 2004
FTP Operation Client Server
OS
Data Control
OS
Data Control
TCP connection
![Page 18: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/18.jpg)
Spring 2004
Port Assignment FTP server listens on well-known port
(21); data transfer uses port 20. On client side, uses any unused port;
client control process communicates that port number to server.
Server process initiates data transfer connection.
![Page 19: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/19.jpg)
Spring 2004
Anonymous FTP Allows access to public files. No need to authenticate user. Access restricted to publicly
available files (e.g., in /usr/ftp).
![Page 20: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/20.jpg)
Spring 2004
The Web
![Page 21: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/21.jpg)
Spring 2004
The Server Side Web site has Web server running
that answers requests for pages locally served. Web server listens to port 80 for
requests. When request from client arrives,
connection is set up. Server replies. Connection released.
![Page 22: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/22.jpg)
Spring 2004
Example User clicked on
www.w3.org/hypertext/WWW/TheProject.html.
![Page 23: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/23.jpg)
Spring 2004
Example (cont’d) Browser asks DNS to resolve www.w3.org. DNS replies with 18.23.0.23. Browser sets up connection to 18.23.0.23
port 80. Browser sends GET
/hypertext/WWW/TheProject.html. www.w3.org server sends TheProject.html file. Connection released. Browser displays TheProject.html, fetching and
displaying all embedded objects (images, etc).
![Page 24: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/24.jpg)
Spring 2004
Observations Many browsers display status
information at bottom of the screen. For each embedded object (in-line
image like icon, picture, etc), browser establishes new connection. Performance hit. Revisions to protocol (HTTP)
address this.
![Page 25: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/25.jpg)
Spring 2004
More Observations… Server’s response specifies object
type (using MIME) followed by object body.
For example: Content-Type: Image/GIF Content-Type: Text/html
![Page 26: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/26.jpg)
Spring 2004
MIME Multipurpose Internet Mail
Extensions (RFC 1521). Before MIME, objects (at the time e-
mail messages) consisted of text only. Only need to specify headers (subject,
date, reply-to, etc). Mainly due to Web, that no longer
works: need to specify and structure object content.
![Page 27: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/27.jpg)
Spring 2004
MIME (cont’d) Adds structure to message body and
defines encoding rules for non-textual messages.
5 new message (MIME) headers: MIME version. Content description. Content id. Content encoding. Content type.
![Page 28: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/28.jpg)
Spring 2004
HTTP HyperText Transfer Protocol. Each interaction: client’s ASCII
request followed by MIME-like response.
Use TCP as underlying transport protocol (although not required by standard).
Several co-existing versions of HTTP.
![Page 29: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/29.jpg)
Spring 2004
HTTP Operations Commands (method) to be
executed on object (Web page). GET Request to read Web page
HEAD Request to read Web page’s headerPUT Request to store Web page
POST Append to specified object (e.g., Web page)
DELETE Deletes Web page
LINK Connects 2 objects UNLINK Disconnects 2 objects
![Page 30: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/30.jpg)
Spring 2004
HTTP Responses Every request gets response with
status information. Status code 200: OK. Status code 400: bad request. Status code 304: not modified.
![Page 31: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/31.jpg)
Spring 2004
Non-Persistent Connections Up to HTTP 1.0, separate
connection for each data transfer. Parallel connections.
![Page 32: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/32.jpg)
Spring 2004
Persistent Connections HTTP 1.1: persistent connections.
Same connection for multiple transfers. Less overhead (connection
management, slow start), less machine resources (buffers, connection id’s).
But, need to recognize beginning and end of an item (use length information).
![Page 33: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/33.jpg)
Spring 2004
Pipelining No pipelining: client issues new
request only after getting response from previous request.
Pipelining: client issues requests as soon as it finds a reference.
![Page 34: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/34.jpg)
Spring 2004
Proxy servers What are proxy servers?
Close to client. Close to server.
![Page 35: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/35.jpg)
Spring 2004
Client-side proxies
Clients ServersProxy
![Page 36: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/36.jpg)
Spring 2004
Server-side proxies
Clients ProxyProxy Servers
![Page 37: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/37.jpg)
Spring 2004
Caching What’s caching? What are its benefits? What are its problems?
![Page 38: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/38.jpg)
Spring 2004
HTTP support for caching Servers can control caching.
Cachable/non-cacheable object. Cacheable at proxy. Cached object expiration time. Operations performed on cached
copy. Browsers can force request to go
to server. Specifies maximum age not to be > 0.
![Page 39: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/39.jpg)
Spring 2004
Internet caches Peers. Hierarchical caches.
![Page 40: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/40.jpg)
Spring 2004
Uniform Resource Locator Way to identify objects (pages).
What is page called? Where is it located? How to access page?
URL has 3 parts: Protocol (or scheme). Machine’s name/address. Local name (file name).
![Page 41: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/41.jpg)
Spring 2004
URL Ability to handle other protocols.
HTTP, FTP, news, gopher, mail, telnet.
![Page 42: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/42.jpg)
Spring 2004
HyperText Markup Language
Allows users to produce Web pages including text, graphics, pointers, etc.
Application of the ISO SGML (Standard Generalized Markup Language) standard.
Markup language: describe how objects are to be formatted. Contains explicit commands for formatting. Example: <B> and </B>. Advantages: easy to parse.
![Page 43: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/43.jpg)
Spring 2004
Dynamic Pages
• A dynamic document is generated by the server at each new connection.– That’s why sometimes, when downloading from the
same URL, we obtain different pages.• Common Gateway Interface (CGI) standard
defines server-application interaction.• CGI programs can be as simple as adding the time or
date to the page.• Browser may supply parameters to CGI
program.– Browser extends URL with additional parameters
separated by ?
![Page 44: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/44.jpg)
Spring 2004
Forms
• Forms permit a web page to have blank areas in which the user must enter information.– Makes it possible to enter data directly.
• Name, address, credit card info…
– Allows information to be sent to the server directly.
![Page 45: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/45.jpg)
Spring 2004
Forms HTML 1.0: one-way exchange.
Enable users to get information from servers.
Users could not send information back.
Example: on-line order forms. HTML 2.0 allows forms.
INPUT, SUBMIT. <FORM> and </FORM>.
![Page 46: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/46.jpg)
Spring 2004
CGI Common Gateway Interface. CGI scripts: programs that read input,
process it, and generate output. Example: after completing a form, user
clicks on SUBMIT; this causes browser to invoke associated CGI script (given by URL). CGI script can generate output in the form of a HTML page that is returned to browser, which interprets and displays it.
Commercial use of the Web.
![Page 47: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/47.jpg)
Spring 2004
What is a Cookie?
![Page 48: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/48.jpg)
Spring 2004
What is a Cookie?
• A server invokes a CGI program each time a request arrives for the associated URL.– The server does not maintain any history of
requests.• But a history is useful to allow CGI program to
participate in dialog (e.g., to avoid having a user answer questions repeatedly).
– Information saved between invocations is called state information.
– State information is kept at the client’s side!
![Page 49: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/49.jpg)
Spring 2004
What is a Cookie (cont’d)
• State information is passed by browser in the form of a cookie.– The cookie is kept in the client’s computer.– When it contacts the Web server again, the
browser inserts the cookie in the request.
![Page 50: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/50.jpg)
Spring 2004
A More Interactive Web HTML used to write static Web pages. With CGI, some “activation” possible. Java makes the Web more interactive.
Java program is executed directly on the client’s machine.
Allows to add animation, sound, etc. to Web pages efficiently
Remote execution model. Instead of buying software, installing it, etc., just
click on the appropriate applet from vendor’s Web page and get applet downloaded, executed, etc.
![Page 51: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/51.jpg)
Spring 2004
Network News
![Page 52: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/52.jpg)
Spring 2004
NNTP Network News Transfer Protocol. RFC 977 (1986) Distribution of news articles.
Inquire, retrieve, and post articles.
![Page 53: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/53.jpg)
Spring 2004
Alternative Mailing lists. Scalability issues. Maintenance issues.
![Page 54: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/54.jpg)
Spring 2004
(Usenet) News Client/server model. News server maintains news
database. Client connects to server and
reads, posts, etc. articles.
![Page 55: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/55.jpg)
Spring 2004
News Distribution News database distributed among
several news servers. How to distribute news among
servers? One alternative is flooding (UUCP)!
![Page 56: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/56.jpg)
Spring 2004
NNTP NNTP is “pull” based.
Server connects to its “neighbor”. Asks whether there any new
newsgorups. Asks whether there are any new news
articles in the relevant newsgroups. Uses TCP.
![Page 57: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/57.jpg)
Spring 2004
NNTP Logical Topology
UCSC
UCB
Stanford
UofArizona
![Page 58: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/58.jpg)
Spring 2004
Some NNTP Commands ARTICLE.
Displays header and body of specified article.
HEAD and BODY. GROUP.
Returns article numbers of first and last articles in the group.
IHAVE. Informs that client has articles specified.
![Page 59: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/59.jpg)
Spring 2004
More NNTP Commands LIST.
Returns list of valid newsgroups. NEWGROUPS.
Returns list of new groups created. NEWNEWS.
Returns list of new articles posted. POST.
![Page 60: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/60.jpg)
Spring 2004
Secure Shell (SSH)
![Page 61: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/61.jpg)
Spring 2004
What’s SSH? Secure alternative to remote
access services (e.g., rlogin, telnet, etc.).
Provides authentication and secure communication.
ssh client and ssh server.
![Page 62: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/62.jpg)
Spring 2004
SSH in operation Client authentication:
Several methods: host-based, asymmetric keys, password-based.
Host-based authentication: e.g., if client machine is in /etc/hosts.equiv or /etc/shosts.equiv.
Asymmetric keys:set of allowed public/private key pairs; user selects one pair; informs server; server checks if key is allowed; replies with a “challenge”, i.e., a random number encrypted with client pulic key.
Password-based authentication (all communication encrypted)
![Page 63: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/63.jpg)
Spring 2004
SSH operation (cont’d) After the authentication phase, the user can
login to the machine, execute commands remotely, etc.
SSH database keeps id information about all hosts it has ever communicated with.
For RSA authentication, user generates public-private key pair and stores it locally; the user should then copy the public key to specific directory in the user’s home directory in the remote machine. After this, login is automatic.
![Page 64: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/64.jpg)
Spring 2004
DHCP
![Page 65: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/65.jpg)
Spring 2004
DHCP Dynamic Host Configuration
Protocol. Automate some network
management procedures. RFC 2132.
![Page 66: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/66.jpg)
Spring 2004
What does DHCP do? Allows hosts to get information
needed to get connected. What info?
IP address. Net masks. Default routes (gateways). DNS name servers…
![Page 67: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/67.jpg)
Spring 2004
DHCP overview Client-server. Evolved from BOOTP.
BOOTP enables diskless UNIX machines to boot off of the network.
More info and “leases”.
![Page 68: CMPE 151: Network Administration](https://reader034.fdocuments.us/reader034/viewer/2022051215/5681487e550346895db58a0d/html5/thumbnails/68.jpg)
Spring 2004
DHCP operation Broadcasts a “Hello”-type message. If DHCP server on local sub-network, server
responds providing temporary IP address, etc.
If no local DHCP server, initial client “Hello” message can be relayed to DHCP servers on other subnets.
Clients need to renew their release before it expires.
Servers keep state about assigned addresses.