![Page 1: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/1.jpg)
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)
![Page 2: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/2.jpg)
2
Outline Motivation Growth of Computer Networking Data Communication Networks Protocols and Standards Standard Organizations
![Page 3: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/3.jpg)
3
Motivations Efficient way to share resources
Cost – less expensive Accessibility – easier
Efficient way to exchange information Time – faster Size – bigger Correctness – accurate
![Page 4: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/4.jpg)
4
Example - A Computer Network
Media Links
Printer
Workstation
Laptop
Scanner
Server
SD
iMac
![Page 5: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/5.jpg)
5
Data Communication
Hi, how are you?
01010001
Hi, how are you?
UserComputer
you?
how
are
Hi,
you?
how
are
Hi,
01010001
![Page 6: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/6.jpg)
6
Data Comm. Components
Hi
How are you doing?
5 Protocol
4 Medium
3 Receiver2 Sender
1 Message
![Page 7: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/7.jpg)
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
![Page 8: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/8.jpg)
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
![Page 9: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/9.jpg)
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
![Page 10: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/10.jpg)
10
Connection Standards
Company A
Company D
Network Interface Card (NIC)
Company B
Company C
![Page 11: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/11.jpg)
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"
![Page 12: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/12.jpg)
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
![Page 13: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/13.jpg)
13
Internet Growth
#computers attached to Internet
![Page 14: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/14.jpg)
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)
![Page 15: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/15.jpg)
15
Future of the Internet
http://www.computerworld.com/s/article/print/9191518/Final_IPv4_addresses_to_be_issued_within_months_NRO_warns
![Page 16: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/16.jpg)
16
Future of the Internet
http://www.computerworld.com/s/article/9207961/Update_ICANN_assigns_its_last_IPv4_addresses
![Page 17: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/17.jpg)
17
Future of the Internet
http://www.zdnet.com/blog/networking/its-official-asias-just-run-out-of-ipv4-addresses/948
![Page 18: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/18.jpg)
Internet of Things
18
http://www.opinno.com/en/content/internet-things-0
![Page 19: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/19.jpg)
Connected Living
19https://devcentral.f5.com/articles/security-sidebar-defending-the-internet-of-
things
![Page 20: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/20.jpg)
Connected Living
20http://www.jumpthecurve.net/wp-content/uploads/2014/03/
ericssonthings1.jpg
![Page 21: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/21.jpg)
21
Future of the Internet
http://www.itworld.com/networking/231929/usenix-google-deploys-ipv6-internal-network
![Page 22: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/22.jpg)
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
![Page 23: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/23.jpg)
23
Languages and Tools Basic network tools
ping, traceroute (tracert on Windows) Network traffic monitor
Wireshark Programming
Java (with Groovy shell)
![Page 24: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/24.jpg)
24
Ping
![Page 25: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/25.jpg)
25
Trace Route
![Page 26: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/26.jpg)
26
Monitoring Network TrafficSample results from Wireshark
![Page 27: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/27.jpg)
27
Application Program Interface (API)
Set of operation for application programmer
Specify arguments and semantics
![Page 28: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/28.jpg)
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++
![Page 29: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/29.jpg)
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
![Page 30: 1 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph.D. chaiporn.j@ku.ac.th cpj](https://reader036.vdocuments.site/reader036/viewer/2022081519/56649ea45503460f94ba8f71/html5/thumbnails/30.jpg)
30
Summary Motivations of computer networking Data Communication components Network application programming and
APIs