Introduction to CS447 Department of Computer Science Southern Illinois University Edwardsville Fall, 2015 Dr. Hiroshi Fujinoki E-mail: [email protected] CS447 - Networks and Data Communications Introduction/000
Dec 27, 2015
Introduction to CS447
Department of Computer ScienceSouthern Illinois University Edwardsville
Fall, 2015
Dr. Hiroshi FujinokiE-mail: [email protected]
CS447 - Networks and Data Communications
Introduction/000
CS447 - Networks and Data Communications
Introduction/001
Agenda
• Types of networks this course will deal with
• Topics this course will discuss
• What this course is about
• What this course is NOT about
• Programming projects expected in this course
Applications (application software)
System Software
CS447 - Networks and Data Communications
Introduction/002
Topics this course will discuss
Three logical layers in computer networks
Hardware
• Web-browser
• Streaming audio/video
• On-line banking • Telephony
• Game
• Routers
• Cables
• Switches
• Modems • Ethernet adapters
• Wireless transmitters
• Routing protocols• HTTP• TCP• IP
• FTP• UDP
• SSL• Error control• Flow control• Compression
• Routing algorithms
ComputerManagementInformation
System
ElectricalEngineering
ComputerScience
The areas this course(CS447) will deal with
Protocols Algorithms
Algorithms = design/logicsProtocols = implementation
CS447 - Networks and Data Communications
Introduction/003
Types of networks this course will deal with
• Circuit-Switching Networks
• Packet-Switching Networks
- Before you start transmission, you need to reserve network resources
- You hold the resources until you complete your transmission
- You can start transmission any time
- Network resources are shared
- Telephone networks
- Internet
CommunicationNetworks
- Data is transmitted as a stream of signals
- Data is transmitted by packets
CS447 - Networks and Data Communications
Introduction/004
Analog Switch
Analog Switch Analog Switch
Analog Switch
Analog Switch Analog Switch
Analog Signal
Analog Signal Analog Signal
Analog Signal
Analog Signal
Circuit-Switching Networks Example: Public telephone networks
CS447 - Networks and Data Communications
Introduction/005
Example: Public telephone networks Circuit-Switching Networks
Analog Switch
Analog Switch Analog Switch
Analog Switch
Analog Switch Analog Switch
Analog Signal
Analog Signal
Analog Signal
Analog Signal
Analog Signal
CS447 - Networks and Data Communications
Introduction/006
Digital SwitchDigital Switch
Digital Switch Digital Switch
Digital Switch Digital Switch
Digital Switch Digital Switch
Analog Signal
010100 111
111
010
100
111
010
100
111
010
100
111010 100
010100111
Analog Signal
010100111Digitized data
Sender PC Receiver PC
Packet-Switching Networks Example: Internet
CS447 - Networks and Data Communications
Introduction/007
Types of networks this course will deal with
• Circuit-Switching Networks
• Packet-Switching Networks
- Before you start transmission, you need to reserve network resources
- You hold the resources until you complete your transmission
- You can start transmission any time
- Network resources are shared
- Telephone networks
- Internet
CommunicationNetworks
- Data is transmitted as a stream of signals
- Data is transmitted by packetsThis course willmainly discuss
packet-switchingnetworks
CS447 - Networks and Data Communications
Introduction/008
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
CS447 - Networks and Data Communications
Introduction/009
1. Understanding components in computer networks
- What are the major network hardware components?
- What are the major network software components?
Data transmitting devices (NICs)
Switching devices (Repeaters, Hubs, Switches and Routers)
Network Cables (Copper wire, Optical fiber)
Data transmission protocols
Network application software
Various data transmission and routing algorithms
CS447 - Networks and Data Communications
Introduction/010
2. Understanding how the network hardware and software components work
• Design Concepts
• Implementation
3. Understanding how to make sure the things work as expected
• Performance Evaluation
• Performance Prediction
- What are the purposes of the network system software?
- How are the network system software designed?
- How can we (our network application software) develop the system software or network application programs?
- We cover this by programming assignments
- How can we measure the performance of the system software?
- How can we predict the performance?
CS447 - Networks and Data Communications
Introduction/011
4. Understanding fundamental network programming skills
• Almost all network applications that use TCP/IP depend on “socket interface” to perform any network activity.
• 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
= “winsock” libraryWindows
UNIX/LINUX = socket libraryHave syntax-level compatibility
- You can develop any network application using socket
• Most of the high-level programming languages have socket library included in it
CS447 - Networks and Data Communications
Introduction/012
Understanding components in computer networks (lectures and quizzes)
Design Concepts
Performance Evaluationand Prediction
Weight for subjects
Implementation(programming assignments)
CS447 - Networks and Data Communications
Introduction/013
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
CS447 - Networks and Data Communications
Programming projects expected in this course
Application Layer
System Software Layer
Hardware Layer
E-mail Streaming
Audio/Video
Game
Telephony
Tele-Conferencing
Hardware(Network Adapter)
TCP
IP
Socket Interface (as function calls)
Device Drivers
WWW
Introduction/014
What programmingproject covers
CS447 - Networks and Data Communications
Introduction/015
Definitions for academic dishonesty
Can we do this?
1. Get a source code from somebody’s website and modify it.
2. Get a source code from a friend and modify it.
3. Work with your friend and create a source code. Then modify it.
4. Get source code given by a professor in another course and modify it.
5. Study example source code from a book and develop your own (instead of copying it).
Only “function-level” copy is allowed (up to 5 to 6 lines in the entire work) Source must be mentioned
NO
NO
NO
NO
YES