ICS 451:
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
Homework: Read Chapters 1 and 2 of the textbook.
Course Overview
- TA: Xiaowei Sun, xsun@hawaii.edu
- MWF 12:30-11:20 in Watanabe 420
- textbook: Communication Networks, by Walrand (Second Edition only)
- midterm, final (each 20% of the grade)
- 3 projects (20% of the grade)
- homeworks (20% of the grade), handed out on Mondays, due the
following Monday.
- pop quizzes (20% of the grade)
- Office hours MW 3-4 in POST 303B.
- http://www.ics.hawaii.edu/~esb/fall1998.ics451/
Goals
- learn fundamental design principles of computer networks,
- study in detail networks of practical importance, including:
- the Internet and TCP/IP
- ethernet
- ATM
- write computer programs to implement networked applications and
simple networking protocols.
Course Outline
- Basics
- Physical Layer: Media, Transmission
- Data-Link Layer (LANs): Ethernet, FDDI, ATM
- Internet Layer: IP
- Transport Layer: TCP, UDP
- Presentation Layer: Encoding, Encryption
- Networking Management: SNMP
Other items covered:
- Error Correction
- Routing
- Probability and Queueing Theory
Networking
A computer network is a digital 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?
- 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 and shared media.
Notes:
This is the first slide in the section "why are networks
interesting".
Networking Protocols
Networking protocols are agreeements about how independent computers
communicate given a physical way to exchange data.
We will study in some detail both the main LAN protocols and the main
of the TCP/IP suite (the Internet protocols).
We will also review protocol structuring principles such as the OSI
7-layer model.
Performance
Throughout the course, we will be considering issues of performance,
including:
- Cost and benefit of different operations
- Limitations imposed by number of bits
- Fairness
- Error Recovery
Software
Projects in this course will focus on providing practice with standard
APIs and in implementing standard protocols.
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).
Sender-Receiver
A sender in a communication sends the data; a receiver receives
the data. The receiver may send acknowledgements to indicate it has
received the data.
In a Client-Server system, the client is first a sender, then a receiver.
(Picture omitted from HTML version)