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