CSIS 625 Week 13

Applications, etc.

 

Copyright 2001 and 2002 – Daniel R. Oelke

 

For use by students of CSIS 625 for purposes of this class only.

 

I.     Overview

A.   Applications

B.    Final Exam Review 

C.   Open forum

D.   Grade the instructor

II. Applications

A.   E-Mail

1.      SMTP – Simple Mail Transfer Protocol

a)      Used to send mail to an email server over TCP/IP

(1)   May be from an email client to a server
(2)   May be from one server to another.

b)      Uses TCP port 25 by default

c)      Sendmail is the software package most commonly used

(1)   Very configurable
(2)   Can handle a wide variety of email transport systems besides SMTP
(3)   Complexity of the configuration files has led to many misconfigured systems.
(4)   Complexity of the software that is so configurable has led to many security holes. 
(5)   Many People will recommend simpler software packages such as qmail.

2.      POP3 – Post Office Protocol, version 3

a)      Used for an email client to download email from a central server. 

b)      RFC 1939

c)      Relatively simple set of commands –

(1)   Mostly just to get an email message or delete that message
(2)   Some additional management type commands for listing the messages, etc.

d)      Best used when client accesses email from one machine where it downloads and stores that email for off-line access.

3.      IMAP – Internet Message Access Protocol

a)      Used for an email client to access email from a central server

b)      RFC 2060

c)      Comparison of IMAP and POP3 at:

(1)   http://www.imap.org/papers/imap.vs.pop.brief.html

d)      Can have multiple folders or mailboxes on the server. 

e)      Allows for email to be left on server (or downloaded to client), transfers between mailboxes, etc. 

f)        Can handle concurrent accesses much better than POP3

4.      Security and email

a)      All of these protocols by default send the email in the clear over the wire.

b)      The contents of the email message itself could encrypted using a package such as PGP (or GPG)

c)      All can be configured to use SSH to provide transport level encryption

B.    FTP – File Transfer Protocol 

1.      Used to transfer files between a server and a client using TCP/IP. 

2.      Opens one connection that sends control commands back and forth. 

3.      Additional connections are opened for each file transferred. 

4.      Can be one of the hardest protocols for NAT machines to get right, because the IP address is encoded as an ASCII string in the control connection. 

a)      When the NAT machine changes this string – it may shrink or grow, which means changing the entire packet (possibly ending up with fragmentation).

C.   NTP – Network Time Protocol

1.      Keeps clocks on various machines synchronized.

2.      A client asks a server for the time, and measures the amount of delay it takes to get that answer. 

a)      About ½ of the delay is added to the time to account for the amount of time that it takes for a message to get from the time server to the client.

b)      The delay is measured multiple times so that the accuracy can be estimated

D.   HTTP – Hyper-Text Transfer Protocol 

1.      Used by web browsers to get pages.

2.      Initial creation used a separate TCP connection for each item transferred.  

a)      If a web page had 5 embedded images, the 6 TCP sessions were used (1 for the page, and 1 for each of the 5 images)  

b)      Created a performance problem as you had the 3-way handshake and the slow start algorithm to deal with for each connection

3.      Early web browsers suffered for performance as they couldn’t draw the page until all the images were fetched.  

a)      Initial speed-up was to open multiple simultaneous connections (often 4) so that slow-start and 3-way handshake delays occurred in parallel instead of sequentially.

4.      HTTP 1.1 protocol was developed that has an extension to allow a single connection to get multiple items – eliminating the slow-start and 3-way handshake delays from subsequent items.

III.         Final Exam Review

A.   Non Comprehensive

1.      All material since the Mid-term

B.    Similar format to the Mid-term

1.      Some vocabulary

2.      Some short answer

C.   Open book, Open note

D.     2 hour time limit

 

IV.         Open Forum

A.   Play stump the instructor

B.    Any question fair game

V. Grade the Instructor

A.   Please fill out fully – I really do use these to improve my teaching and to improve the course for future classes.

B.    On back of the black and white form – please answer these additional questions:

1.      Do you think that a tour of some of the campus network rooms would be informative?

2.      Do you think a class project instead of homework assignments would be better or worse that the current homework assignments? 

3.      Do you favor open book or open note or both open note and open book exams and why?

4.      Proposed project: A library of routines that simulate a physical layer is given, and the student must create the data link, network, transport and application layers to support simple remote commands and file transfer.  Do you think this sounds like a project you would do instead of some of the other assignments? 

5.      Do you think that such a project should be done individually, or in groups?  If in groups – how many people to a group? 

6.      If you were to do such a project – what OS would you prefer – Linux, Windows, Solaris, ??

7.      If you were to do such a project – what language would you prefer – C, C++, Java, Pascal, ??

C.   Last one out of the room – please seal the envelope.