204325 Data Communication and Computer Networks
Download
Report
Transcript 204325 Data Communication and Computer Networks
Second Semester, 2014
Data Communications and
Network Programming:
Course Introduction
Asst. Prof. Chaiporn Jaikaeo, Ph.D.
[email protected]
http://www.cpe.ku.ac.th/~cpj
Computer Engineering Department
Kasetsart University, Bangkok, Thailand
Most materials in this presentation were prepared by Assoc. Prof. Anan Phoenphoem (http://www.cpe.ku.ac.th/~anan)
1
Outline
Motivation
Growth of Computer Networking
Data Communication
Networks
Protocols and Standards
Standard Organizations
2
Motivations
Efficient way to share resources
Cost – less expensive
Accessibility – easier
Efficient way to exchange information
Time – faster
Size – bigger
Correctness – accurate
3
Example - A Computer Network
Laptop
iM ac
Workstation
Media Links
Server
SD
Printer
Scanner
4
Data Communication
Hi,
Hi,
how
how
are
are
you?
you?
Hi, how are you?
Hi, how are you?
Computer
01010001
User
01010001
5
Data Comm. Components
1
Message
Hi
How are you
doing?
5
2
Protocol
Sender
3
4
Receiver
Medium
6
Protocols and Standards
Protocol
A set of rules governing data communications
Syntax: format of data block
Semantics: meaning of each section
Timing: speed and sequencing
Standards
De facto (in practice) standards
not approved but widely adopted
De jure (in law) standards
approved by a standard organization, e.g., ISO, IEEE
7
Protocols and Standards
To communicate, two devices must follow
the same set of communication protocols
E.g., they must
be connected to the same medium
understand each other's messages
In other words, they comply with the same
standard
8
Data Representation Standards
Numbers
2
ASCII, Unicode
Images
150
Text
8/16/32 bit integers
floating point
255
Bit patterns, Graphics formats JPG/GIF/etc
Audio Samples of continuous signal
Video Sequence of bitmap images
9
Connection Standards
Company B
Company A
Network Interface Card (NIC)
Company C
Company D
10
Internetworking
How to allow devices from different standards
to communicate
Gateways/routers – devices capable of
communicating in several standards
These become "network of networks"
11
The Internet
The largest internetwork (network of networks) in
the world
Devices communicating with TCP/IP protocol suite at
high level
Stanford
U. of Utah
UC Santa Barbara
UCLA
12
Internet Growth
#computers attached to Internet
13
Recent and Future Trends
The availability of high-quality
teleconferencing systems
Some social networking applications such as
Facebook
Twitter
Google+
Many others
The Internet of Things (IoT)
14
Future of the Internet
http://www.computerworld.com/s/article/print/9191518/Final_IPv4_addresses_to_be_issued_within_months_NRO_warns
15
Future of the Internet
http://www.computerworld.com/s/article/9207961/Update_ICANN_assigns_its_last_IPv4_addresses
16
Future of the Internet
http://www.zdnet.com/blog/networking/its-official-asias-just-run-out-of-ipv4-addresses/948
17
Internet of Things
http://www.opinno.com/en/content/internet-things-0
18
Connected Living
https://devcentral.f5.com/articles/security-sidebar-defending-the-internet-of-things
19
Connected Living
http://www.jumpthecurve.net/wp-content/uploads/2014/03/ericssonthings1.jpg
20
Future of the Internet
http://www.itworld.com/networking/231929/usenix-google-deploys-ipv6-internal-network
21
What Will We Learn in this course
Data communication concepts
Computer networking devices
Internet protocol suite (TCP/IP)
Capture and analyze network traffic of wellknown applications
Network programming
Standalone socket applications
Web-based applications
Web services
22
Languages and Tools
Basic network tools
Network traffic monitor
ping, traceroute (tracert on Windows)
Wireshark
Programming
Java (with Groovy shell)
23
Ping
24
Trace Route
25
Monitoring Network Traffic
Sample results from Wireshark
26
Application Program Interface (API)
Set of operation for application programmer
Specify arguments and semantics
27
Berkeley Socket API
API for developing applications that perform inter-process
communication in C/C++
Example functions
most commonly for communications across a computer network,
especially UNIX
listen – used by server to wait for contact from client
connect – used by client to contact server
send – used by either client or server to send data
recv – used by either client or server to receive data
Java, .NET, Python, etc. provide convenient wrappers around
socket API
Easier to write than C/C++
28
Web APIs (Web Services)
APIs defining set of request and response
messages via web context (i.e., HTTP)
usually in Extensible Markup Language (XML)
or JavaScript Object Notation (JSON) format
Examples
Facebook API
Twitter API
Various Google APIs
29
Summary
Motivations of computer networking
Data Communication components
Network application programming and APIs
30