1 data communications and network programming: course introduction asst. prof. chaiporn jaikaeo,...

Post on 12-Jan-2016

236 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Data Communications and Network Programming:Course Introduction

Asst. Prof. Chaiporn Jaikaeo, Ph.D.chaiporn.j@ku.ac.th

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

top related