| Topics and Readings | What to expect |
|
Bridge and Router Software
|
Understand (roughly) what the software in a bridge and router
does.
Understand the difference between link-state and distance metrics
for routing.
Understand that it is possible to have a connection-oriented
Network Layer (X.25).
|
Network Service Case Studies
- Email: SMTP,POP
- FTP
- LDAP
- Kerberos
|
Understand the terminology of Internet Email (MTA, User Agent),
and the basic service model (how email gets from your UA to someone
else's UA).
Understand SMTP and FTP protocols enough to recognize them or provide a rough description.
Understand the 2-connection scheme used by FTP to transfer
files.
Know what a directory service is (LDAP).
Understand the to use LDAP you don't need to know the
details of the protocol (API is provided).
Understand the general concepts used by Kerberos to
support secure client-server even when the wire/workstation is
not secure.
|
Security & Encryption
- The idea of "trusted hosts".
- Secret Key Cryptography.
- Public Key Cryptography.
|
Understand the basic ideas of secret-key and public-key cryptography.
Understand how public-key cryptography can be used to send a message that only the intended receiver can read.
Understand how public-key cryptography can be used to send a message that only the sender could generate (digital signature).
|
|
inetd (superserver).
|
Understand the general idea of writing one server that can
watch lots of ports for incoming requests, automatically start up
servers on demand, and hand off the requests to the actual
servers.
|
Threads
- Difference between a thread and a process
- Mutual Exclusion
- Condition Variables
|
Know the difference between a thread and a process!
Know what is unique for each thread and what is shared
by all threads.
Understand the need for mutual exclusion, and a rough idea
of how the threads library supports it (mutex variables).
Understand the need for condition variables (when might you
use one?)
|
Client Server
- Concurrency
- Forking
- Preforking
- Threading
- Prethreading
- Message-oriented vs. connection-oriented.
|
Be able to provide pseudo code for any of the 4 concurrency
mechanisms implemented in HW5.
Understand the trade-offs involved in selecting a transport
layer when designing a new network service.
Understand the trade-offs involved in deciding on support
for concurrency (vs. iterative servers).
|
XDR & RPC
- XDR Filters.
- RPC Protocol Definition Files.
- RPC Call Semantics.
|
Understand what XDR is (what service XDR provides).
Be able to write a simple XDR filter (pseudo-code).
Be able to write an RPC protocol definition file.
Understand what "call semantics" means.
Be able to describe a network application as
a list of remote procedures/programs.
|
CORBA
- The ORB
- Dynamic vs. Static invocation
- IDL
- Interface Repository
- Object Services
|
Know that CORBA is "Common Object Request Broker Architecture".
Know what an ORB is (rough idea is good enough).
Understand the idea of IDL and storing IDL in an
Interface Repository to support dynamic invocation.
Know the difference beteen dynamic and static invocation.
Understand the notion that system services can be provided
as CORBA objects, and that many of these object services are defined
as part of the CORBA standard.
Be able to list/describe a couple of the obejct services we
discussed in class.
|