Here - SIUE - Southern Illinois University Edwardsville

Download Report

Transcript Here - SIUE - Southern Illinois University Edwardsville

CS447 - Networks and Data Communications
Introduction to CS447
Department of Computer Science
Southern Illinois University Edwardsville
Spring, 2016
Dr. Hiroshi Fujinoki
E-mail: [email protected]
Introduction/000
CS447 - Networks and Data Communications
Agenda
• Topics this course will discuss
• Types of networks this course will deal with
• What this course is about
• What this course is NOT about
• Programming projects expected in this course
Introduction/001
CS447 - Networks and Data Communications
Topics this course will discuss
Three logical layers in computer networks
Applications (application software)
• E-mail
• Web-browser
• Streaming audio/video • Game
• On-line banking
• Telephony
Protocols
• HTTP
• TCP
• IP
Hardware
• Routers • Switches
• Wireless transmitters
• Cables
• Ethernet adapters
• Modems
Computer
Management
Information
System
Algorithms
• Routing algorithms
• Routing protocols • Error control
• FTP • SSL
• Flow control
• UDP
• Compression
System Software
The areas this course
(CS447) will deal with
Computer
Science
Electrical
Engineering
Protocols = implementation Algorithms = design/logics
Introduction/002
CS447 - Networks and Data Communications
What this course is about
1. Understanding major components in computer networks
2. Understanding how the network hardware and software
components work
3. Understanding how to make sure the things work as expected
4. Understanding fundamental network programming skills
Introduction/008
CS447 - Networks and Data Communications
1. Understanding components in computer networks
- What are the major network hardware components?
 Data transmitting devices (NICs)
 Switching devices (Repeaters, Hubs, Switches and Routers)
 Network Cables (Copper wire, Optical fiber)
- What are the major network software components?
 Network application software
 Data transmission protocols
 Various data transmission and routing algorithms
Introduction/009
CS447 - Networks and Data Communications
2. Understanding how the network hardware and software components work
• Design Concepts
- What are the purposes of the network system software?
- How are the network system software designed?
• Implementation
- How can we (our network application software) develop
the system software or network application programs?
- We cover this by programming assignments
3. Understanding how to make sure the things work as expected
• Performance Evaluation
- How can we measure the performance of the system software?
• Performance Prediction
Introduction/010
- How can we predict the performance?
CS447 - Networks and Data Communications
4. Understanding fundamental network programming skills
• Almost all network applications that use TCP/IP depend on “socket
interface” to perform any network activity.
- You can develop any network application using socket
• Socket interface is provided as a set of functions (a. k. a., “API”) that
application programs can call to perform network activities
• Each platform has its own socket interface
Windows = “winsock” library
Have syntax-level compatibility
UNIX/LINUX = socket library
• Most of the high-level programming languages have socket library
included in it
Introduction/011
CS447 - Networks and Data Communications
Weight for subjects
Understanding components in
computer networks (lectures and quizzes)
Performance Evaluation
and Prediction
Implementation
(programming assignments)
Introduction/012
Design Concepts
CS447 - Networks and Data Communications
What this course is NOT about
• Learning products from particular software/hardware venders
- Learn DreamWeaver for developing web home pages
- Learn how to set up routers from particular manufactures
- Learn how to make a home page using HTML, PHP, MS ASP, etc.
• Preparing for particular network certificate
- Understanding topics in this course will provide a foundation
for those certificate
• After all, this course is never meant for particular network products
• Not for anything that does not require understanding of working
of underlying networks
Introduction/013
CS447 - Networks and Data Communications
What programming
project covers
Programming projects expected in this course
Application Layer
E-mail
WWW
Game
Streaming
Audio/Video
Tele-Conferencing
Telephony
Socket Interface (as function calls)
System Software Layer
TCP
IP
Device Drivers
Hardware Layer
Hardware
(Network Adapter)
Introduction/014
CS447 - Networks and Data Communications
Definitions for academic dishonesty
Can we do this?
1. Get a source code from somebody’s website and modify it.  NO
2. Get a source code from a friend and modify it. NO
3. Work with your friend and create a source code. Then modify it.  NO
4. Get source code given by a professor in another course and modify it.
 NO
5. Study example source code from a book and develop your own (instead of
copying it).  YES
 Only “function-level” copy is allowed (up to 5 to 6 lines in the entire work)
 Source must be mentioned
Introduction/015
CS447 - Networks and Data Communications
Types of networks this course will deal with
• Circuit-Switching Networks
- Data is transmitted as a stream of signals
- Before you start transmission, you
need to reserve network resources
Communication
Networks
- You hold the resources until you
complete your transmission
- Telephone networks
• Packet-Switching Networks
- Data is transmitted by packets
- You can start transmission any time
Introduction/003
- Network resources are shared
- Internet
CS447 - Networks and Data Communications
Circuit-Switching Networks Example: Public telephone networks
Analog Signal
Analog Signal
Analog Signal
Analog Switch
Analog Switch
Analog Signal
Analog Switch
Analog Switch
Analog Switch
Introduction/004
Analog Signal
Analog Switch
CS447 - Networks and Data Communications
Circuit-Switching Networks Example: Public telephone networks
Analog Signal
Analog Signal
Analog Signal
Analog Signal
Analog Switch
Analog Switch
Analog Switch
Analog Switch
Analog Switch
Introduction/005
Analog Signal
Analog Switch
CS447 - Networks and Data Communications
Packet-Switching Networks
Example: Internet
111
Digital Switch
Digital Switch
111
111
Sender PC
Receiver PC
010
Digital Switch
100
010
010
010
Digital Switch
Digital Switch
Digital Switch
111
010100111
100
100
Digitized data
100
Digital Switch
Digital Switch
100
111
010100111
Analog Signal
Analog Signal
Introduction/006
010
CS447 - Networks and Data Communications
Types of networks this course will deal with
• Circuit-Switching Networks
- Data is transmitted as a stream of signals
- Before you start transmission, you
need to reserve network resources
Communication
Networks
- You hold the resources until you
complete your transmission
- Telephone networks
• Packet-Switching Networks
- Data is transmitted by packets
This course will
mainly discuss
packet-switching
networks
Introduction/007
- You can start transmission any time
- Network resources are shared
- Internet