Second Semester 2014 Data Communications and Network Programming






























- Slides: 30

Second Semester, 2014 Data Communications and Network Programming: Course Introduction Asst. Prof. Chaiporn Jaikaeo, Ph. D. chaiporn. j@ku. ac. th 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 n n n Motivation Growth of Computer Networking Data Communication Networks Protocols and Standards Standard Organizations 2

Motivations n Efficient way to share resources n n n Cost – less expensive Accessibility – easier Efficient way to exchange information n Time – faster Size – bigger Correctness – accurate 3

Example - A Computer Network Laptop Workstation Media Links Server Printer Scanner 4

Data Communication Hi, how are you? Hi, how are you? Computer 01010001 5

Data Comm. Components 1 Message Hi How are you doing? 5 2 Protocol Sender 3 4 Receiver Medium 6

Protocols and Standards n Protocol n A set of rules governing data communications n n Syntax: format of data block Semantics: meaning of each section Timing: speed and sequencing Standards n De facto (in practice) standards not approved but widely adopted n De jure (in law) standards approved by a standard organization, e. g. , ISO, IEEE 7

Protocols and Standards n n To communicate, two devices must follow the same set of communication protocols E. g. , they must n n n be connected to the same medium understand each other's messages In other words, they comply with the same standard 8

Data Representation Standards n Numbers n n 2 ASCII, Unicode Images n n 150 Text n n 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 n n n 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 n n 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 n n The availability of high-quality teleconferencing systems Some social networking applications such as n Facebook Twitter Google+ n Many others n n n The Internet of Things (Io. T) 14

Future of the Internet http: //www. computerworld. com/s/article/print/9191518/Final_IPv 4_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_IPv 4_addresses 16

Future of the Internet http: //www. zdnet. com/blog/networking/its-official-asias-just-run-out-of-ipv 4 -addresses/948 17

Internet of Things http: //www. opinno. com/en/content/internet-things-0 18

Connected Living https: //devcentral. f 5. com/articles/security-sidebar-defending-the-internet-of-things 19

Connected Living http: //www. jumpthecurve. net/wp-content/uploads/2014/03/ericssonthings 1. jpg 20

Future of the Internet http: //www. itworld. com/networking/231929/usenix-google-deploys-ipv 6 -internal-network 21

What Will We Learn in this course n n n Data communication concepts Computer networking devices Internet protocol suite (TCP/IP) Capture and analyze network traffic of wellknown applications Network programming n n n Standalone socket applications Web-based applications Web services 22

Languages and Tools n Basic network tools n n Network traffic monitor n n ping, traceroute (tracert on Windows) Wireshark Programming n Java (with Groovy shell) 23

Ping 24

Trace Route 25

Monitoring Network Traffic Sample results from Wireshark 26

Application Program Interface (API) n n Set of operation for application programmer Specify arguments and semantics 27

Berkeley Socket API n API for developing applications that perform inter-process communication in C/C++ n n Example functions n n n 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 n Easier to write than C/C++ 28

Web APIs (Web Services( n APIs defining set of request and response messages via web context (i. e. , HTTP) n n n usually in Extensible Markup Language (XML) or Java. Script Object Notation (JSON) format Examples n n n Facebook API Twitter API Various Google APIs 29

Summary n n n Motivations of computer networking Data Communication components Network application programming and APIs 30