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:
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.