Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
First Semester, 2015 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) Serial communication library Such as RXTX 23 Ping 24 Trace Route 25 Monitoring Network Traffic Sample results from Wireshark 26 Serial Communication Most basic form of device-to-device communication However, most recent computers do not come with a serial port Use USB-Serial dongle instead USB-Serial Dongle TX TX RX RX GND GND USB-Serial Dongle 27 Berkeley Socket API Provides serial-communication abstraction over the Internet 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