Slides
ICS 651:
Computer Networks
Edo Biagioni
esb@hawaii.edu
Department of Information and Computer Science
Today's Outline
- Course Overview
- What is Networking?
- What is interesting about Networks?
- Hardware
- Protocols
- Software
- Performance
- Clients and servers
- Homework assignment
- Class Evaluation
Course Overview
- MWF 8:30-9:20 in Keller 301
- textbook: Computer Networks, by Peterson and Davie
- 2 midterms, final
- 3 projects
- "optional" homeworks
- grading:
- 20% projects
- 20% each mid-term
- 40% final
- Office hours M 9:30-11 and W 9:30-10:30 in POST 303B.
- http://www.ics.hawaii.edu/~ics651
Notes:
- We are going to mostly stick with the textbook, but we will
study some subjects in a sequence different from that used in the
book.
- Homework is completely optional, but doing the homeworks is a
very good way (perhaps the only effective way) to prepare for the exams.
- I will be happy to review and provide feedback to any homework
that's turned in.
Course Outline
- Basics
- Direct Link
- x-kernel
- Packet Switching
- Internetworking
- Transport Protocols
- Congestion Control
- Data Presentation
- High Speed Networks
- SNMP and MIBs
Networking
A computer network is a hardware and software system that enables a
collection of computers to communicate.
"Computer Networks are able to carry many different types of data and
support a wide range of applications"
Networking is the engineering, science and art of designing computer
networks.
Notes:
- What is networking
- Answer 1: networking means getting to know people so that
I can get a job when I graduate.
- Answer 2: What is a computer network?
- The quote is adapted from p.2 of the textbook. It
differentiates between computer networks and other kinds of network,
for example telephone networks and CableTV networks.
- Engineering, science and art: engineering because we need to
make tradeoffs among competing requirements, science because to do so
we need to study and characterize a complex system, and art because
sometimes the most aesthetically pleasing designs are also the best.
Networking Hardware
Although this course will not focus on designing networking hardware,
the design and performance analysis of networks and protocols require
a high-level understanding of network hardware.
We will look at a variety of point-to-point links, shared media, and
token rings.
Notes:
This is the first slide in the section "why are networks
interesting". Of course we all know networks are interesting because
the Internet grows more popular every day and appears in the mass
media, but here are a few other reasons...
Networking Protocols
Networking protocols are the focus of this course. We will study in
some detail the main protocols of the TCP/IP suite (the Internet
protocols), have a chance at designing protocols to solve specific
problems, and look at existing protocols to understand their strengths
and weaknesses.
We will also review protocol structuring principles such as the OSI
7-layer model.
Networking Software
Networking protocols are implemented in networking software.
We will learn in some detail about the {\bf x-kernel}, a system
infrastructure for implementing networking protocols. We will also be
looking at other existing implementations and compare them. We will
consider practical issues such as structure and performance.
Performance
When networks are put into actual use, performance is often an issue.
We will consider different measures of performance such as latency,
bandwidth, connection setup time, and how to reliably measure these
characteristics.
Client-Server
A client is a program that requests a service; a server is
a program that provides a service. Clients and servers normally run
on different machines, and use computer networks to communicate.
(Picture omitted from HTML version)
Notes:
Let us start with a small example of using computer networks.
A client on one machine can send a request to a server on a different
machine. The server will generally respond appropriately.
This is a very generic model, and can encompass all sort of interactions.
For example:
Client-Server Examples
- WWW (clients: Netscape, Internet Explorer, Lynx, etc.. Servers:
Netscape, Apache, etc)
- Telnet
- FTP
- Network Time Protocol (NTP)
- Network File Server (NFS)
- ...
Notes:
Can anyone else name other client/server systems? E.g. mail (SMTP),
news (NNTP).
Homework
- visit http://www.ics.hawaii.edu/~ics651
- Read sections 1.1, 1.2, and 1.3 of the textbook.
- Use UNIX clients to study the Internet network
- Build a client
- Build a server
- Due September 3rd.