Programming Assignment #1

Slides:



Advertisements
Similar presentations
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Advertisements

CS3771 Today: network programming with sockets  Previous class: network structures, protocols  Next: network programming Sockets (low-level API) TODAY!
TCP/IP Protocol Suite 1 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.
Chapter 16 – DNS. DNS Domain Name Service This service allows client machines to resolve computer names (domain names) to IP addresses DNS works at the.
An program As a simple example of socket programming we can implement a program that sends to a remote site As a simple example of socket.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
CSCI 6962: Server-side Design and Programming Web Services.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 6: Name Resolution.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network, Enhanced Chapter 6: Name Resolution.
Hour 7 The Application Layer 1. What Is the Application Layer? The Application layer is the top layer in TCP/IP's protocol suite Some of the components.
Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
CS390- Unix Programming Environment CS 390 Unix Programming Environment Java Socket Programming.
CS433/533 Assignment 4 Overview. Fishnet Network protocol simulator & emulator Read fishnet-intro.pdf Get started Network topology (.topo) for emulator.
Project 2: Socket Programming. Overview Sockets Working with sockets Client-Server example Project 1 Hints.
1 Microsoft Windows 2000 Network Infrastructure Administration Chapter 6 Resolving Network Host Names.
Fall 2000C.Watters1 World Wide Web and E-Commerce Servers & Server Side Processing.
COMP2322 Lab 4 Socket Programming Toby Lam March 2, 2016.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
Domain Name System: DNS To identify an entity, TCP/IP protocols use the IP address, which uniquely identifies the Connection of a host to the Internet.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 33 Networking.
Remote Method Invocation Internet Computing Workshop Lecture 17.
4.01 How Web Pages Work.
COMP2322 Lab 4 Socket Programming
Understand Names Resolution
Application Layer Functionality and Protocols Abdul Hadi Alaidi
CS 372 COMPUTER COMMUNICATION AND NETWORKS
An example of peer-to-peer application
Chapter 25 Domain Name System.
Web Development Web Servers.
Domain Name System (DNS)
IMPLEMENTING NAME RESOLUTION USING DNS
Networking COMP
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Programming Assignment #1
MCA – 405 Elective –I (A) Java Programming & Technology
Teemu Savolainen (Nokia) MIF WG IETF#75 28-July-2009
Beyond HTTP Up to this point we have been dealing with software tools that run on browsers and communicate to a server that generates files that can be.
Networks and Client/Server Applications
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
TCP Transport layer Er. Vikram Dhiman LPU.
Working at a Small-to-Medium Business or ISP – Chapter 7
Programming Assignment #3
PHP / MySQL Introduction
Client Client 4) Hello , please give me the website
Net 323 D: Networks Protocols
Client/Server Example
Subject Name: Computer Communication Networks Subject Code: 10EC71
Chapter 3: Windows7 Part 4.
Working at a Small-to-Medium Business or ISP – Chapter 7
Using the Parallel Universe beyond MPI
Name and Address Conversions Part I
Dynamic DNS support for EGI Federated cloud
Computer Communication & Networks
Application layer Lecture 7.
Working at a Small-to-Medium Business or ISP – Chapter 7
Starting TCP Connection – A High Level View
Issues in Client/Server Programming
CSCD 330 Network Programming
Python 19 Mr. Husch.
World Wide Web Uniform Resource Locator hostname [:port]/path
Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
Internet Applications & Programming
COMPUTER NETWORKS PRESENTATION
Windows Name Resolution
Python 19 Mr. Husch.
Programming Assignment #2
Exceptions and networking
Virtual Private Network
Presentation transcript:

Programming Assignment #1 Simulate a DNS server using TCP By utilizing Sockets! Due Date: Friday February 23, 2018 at 11:55p.m through Moodle website Find project description and files you will need at Programming Projects Hello everyone. Now I’m gonna introduce something about socket programming. First we will try to get a general idea about what socket is. Then we will introduce socket programming with Java and socket programming with Python. The corresponding reading material is the Section 2.7 in Chapter 2, and the project 1 description. Readings: Chapter 2: Sections 2.7 Project I Description CSci4211: Programming Assignment #1

CSci4211: Programming Assignment #1 What should we do? Implement a typical Client/Server model. Client gets input from user, and sends it to server. The source codes of clients have been provided. Server gets input from clients, and send DNS results back to clients. This is what you need to code! They communicate through sockets. CSci4211: Programming Assignment #1

CSci4211: Programming Assignment #1 How does server work? Get DNS queries from clients. Initially, the DNS cache should be empty. Check if the query has been locally cached. If so, fetch the IP address from cache. Otherwise, check the DNS system (here we use the local machine DNS lookup) add result to DNS_mapping.txt file (cache data). We assume that there are different IP addresses towards the same hostname in the cache. (e.g. Youtube.com) One server can handle multiple clients. CSci4211: Programming Assignment #1

Things you may need to work on… Socket Programming File Operation String Operation CSci4211: Programming Assignment #1

CSci4211: Programming Assignment #1 Scenario 1 1 2 4 3 2, 3 Step 1: Client contacts the local DNS server. Step 2: As the local cache is empty, contact the DNS server for the entry. (Here we use local machine DNS lookup) Step 3: DNS server return the DNS entry. Cache it on your local server. (Here we get the result of local machine DNS lookup) Step 4: Return the query result to the client. CSci4211: Programming Assignment #1

CSci4211: Programming Assignment #1 Scenario 2 1 2 Step 1: Client contacts the local server. Step 2: The requested host IP resolution is cached on the local server, just return it to the client! If there are multiple addresses for one hostname, you can select one randomly. CSci4211: Programming Assignment #1

Things you may need to notice… Python 2 vs Python 3 Details about the cache. Please read the project description carefully. Let me know if you have any questions anytime. - W 11-12 F 10-11 2-209 Keller Make your code east to read. - Pease add suitable comments, makes life more easy for all of us! CSci4211: Programming Assignment #1

CSci4211: Programming Assignment #1 Q&A CSci4211: Programming Assignment #1