1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo,...
-
Upload
candice-nichols -
Category
Documents
-
view
227 -
download
1
Transcript of 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo,...
1
Data Communications and Network Programming:Course Introduction
Asst. Prof. Chaiporn Jaikaeo, [email protected]
http://www.cpe.ku.ac.th/~cpjComputer Engineering Department
Kasetsart University, Bangkok, Thailand
Second Semester, 2014
Most materials in this presentation were prepared by Assoc. Prof. Anan Phoenphoem (http://www.cpe.ku.ac.th/~anan)
2
Outline Motivation Growth of Computer Networking Data Communication Networks Protocols and Standards Standard Organizations
3
Motivations Efficient way to share resources
Cost – less expensive Accessibility – easier
Efficient way to exchange information Time – faster Size – bigger Correctness – accurate
4
Example - A Computer Network
Media Links
Printer
Workstation
Laptop
Scanner
Server
SD
iMac
5
Data Communication
Hi, how are you?
01010001
Hi, how are you?
UserComputer
you?
how
are
Hi,
you?
how
are
Hi,
01010001
6
Data Comm. Components
Hi
How are you doing?
5 Protocol
4 Medium
3 Receiver2 Sender
1 Message
7
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
8
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
9
Data Representation Standards
Numbers 8/16/32 bit integers floating point
Text ASCII, Unicode
Images Bit patterns, Graphics formats JPG/GIF/etc
Audio Samples of continuous signal Video Sequence of bitmap images
150
2
255
10
Connection Standards
Company A
Company D
Network Interface Card (NIC)
Company B
Company C
11
Internetworking How to allow devices from different
standards to communicate Gateways/routers – devices capable of
communicating in several standards
These become "network of networks"
12
The Internet The largest internetwork (network of
networks) in the world Devices communicating with TCP/IP protocol
suite at high level
UCLA
Stanford
UC Santa Barbara
U. of Utah
13
Internet Growth
#computers attached to Internet
14
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)
15
Future of the Internet
http://www.computerworld.com/s/article/print/9191518/Final_IPv4_addresses_to_be_issued_within_months_NRO_warns
16
Future of the Internet
http://www.computerworld.com/s/article/9207961/Update_ICANN_assigns_its_last_IPv4_addresses
17
Future of the Internet
http://www.zdnet.com/blog/networking/its-official-asias-just-run-out-of-ipv4-addresses/948
Internet of Things
18
http://www.opinno.com/en/content/internet-things-0
Connected Living
19https://devcentral.f5.com/articles/security-sidebar-defending-the-internet-of-
things
Connected Living
20http://www.jumpthecurve.net/wp-content/uploads/2014/03/
ericssonthings1.jpg
21
Future of the Internet
http://www.itworld.com/networking/231929/usenix-google-deploys-ipv6-internal-network
22
What Will We Learn in this course
Data communication concepts Computer networking devices Internet protocol suite (TCP/IP) Capture and analyze network traffic of
well-known applications Network programming
Standalone socket applications Web-based applications Web services
23
Languages and Tools Basic network tools
ping, traceroute (tracert on Windows) Network traffic monitor
Wireshark Programming
Java (with Groovy shell)
24
Ping
25
Trace Route
26
Monitoring Network TrafficSample results from Wireshark
27
Application Program Interface (API)
Set of operation for application programmer
Specify arguments and semantics
28
Berkeley Socket API API for developing applications that perform inter-
process communication in C/C++ most commonly for communications across a computer
network, especially UNIX Example functions
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++
29
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
30
Summary Motivations of computer networking Data Communication components Network application programming and
APIs