Information Network I: The Application Layer. Doudou Fall Internet Engineering Laboratory Nara Institute of Science and Technique

Size: px
Start display at page:

Download "Information Network I: The Application Layer. Doudou Fall Internet Engineering Laboratory Nara Institute of Science and Technique"

Transcription

1 Information Network I: The Application Layer Doudou Fall Internet Engineering Laboratory Nara Institute of Science and Technique

2 Outline Domain Name System World Wide Web and HTTP Content Delivery Networks 2

3 OSI vs. TCP/IP Layers Application Presentation Application Session Transport Transport Network Internet Data Link Physical Network Access 3

4 Applications Application Programs that make use of the Internet: DNS, HTTP, SMTP, FTP, etc. Transport Network Data Link Physical 4

5 Domain Name System 5

6 Domain Name System (DNS) Addresses are hard for human beings to remember Never ending updates in case a machine changes its IP address The organization's web server will be known as regardless of the IP address Mechanisms to map names into numerical address Host.txt; not scalable Domain Name System (DNS) to the rescue,

7 Initial problem Every device connected to the Internet has a unique Internet Protocol address How to resolve human-friendly machine names into IP addresses 7

8 Initial Solution /etc/hosts Periodical downloads from Network Information Center (NIC) at the Stanford Research Institute (SRI) Not sustainable with millions of host in the Internet Does not scale 8

9 DNS: RFCs 1034, 1035, 2181 Hierarchical, domain-based naming Distributed database system Name onto IP address mapping procedure: A program calls the resolver by passing the name as a parameter The resolver sends a query containing the name to a local DNS server The later retrieves the name and return a response containing the IP address to the resolver The resolver forwards the response to the caller 9

10 DNS Name Space Hierarchical system borrowed from postal services ICANN (Internet Corporation for Assigned Names and Numbers) Generic Countries com org net gov edu jp th ro us sn ac co 10

11 Top Level Domains cctld: country-code domains e.g.,.jp,.sn, IDN cctld: internationalized country-code domains e.g., 中国, gtld: generic top-level domains E.g.,.org,.com,.edu, Internet Assigned Numbers Authority (IANA) 1,239 top-level domains 11

12 Shared Registration Domain name registry: database Keeps track of all domain names registered in a top-level domain Domain name registry operator: organization that runs the DB Network information Center (NIC) Keeps the DB of domain names Domain name registrar: Company used for domain name registration 12

13 Domain Resource Records Format: Domain_name Time_to_live Class Type Value Type Meaning Value SOA Start of Authority Parameters for this zone A IPv4 address of a host 32-bit integer AAAA IPv6 address of a host 128-Bit integer MX Mail exchange Priority, domain willing to accept NS Name server Name of a server for this domain CNAME Canonical name Domain name PTR Pointer Alias for an IP address SPF Sender policy framework Text encoding of mail sending policy SRV Service Host that provides it TXT Text Descriptive ASCII text 13

14 Name Servers Problems with a centralized approach Single point of failure Hard to maintain Does not scale Problems with a distributed approach Partial mapping for each server Multiple servers may handle queries Hard to update 14

15 Types of DNS Servers Authoritative Name Servers Sure to be able to perform a name-address translation for a particular zone Root Name Servers Caching Name Servers Ask queries and keep them in cache for later use Non authoritative 15

16 Root Servers 16

17 DNS Queries Finding the IP address for a given hostname is called resolution and is done with the DNS protocol. Resolution computer request local name server to resolve Local name server asks the root name server Root returns the name server for a lower zone Continue down zones until name server can answer DNS protocol Runs on UDP port 53, retransmits lost messages Caches name server answers for better performance 17

18 DNS Queries 2 3 Root DNS Server Requesting host Local DNS Server 6 TLD DNS Server 7 Authoritative DNS Server 18

19 DNS Protocol 12 bytes Identification No. of Questions No. of Authority RRs Flags No. of Answer RRs No. of Additional RRs Name, type fields for a query RRs in response to query Records for authoritative servers Additional helpful info that may be used Questions (variable number of answers) Answers (variable number of resource records) Authority (variable number of resource records) Additional Info (variable number of resource records) 19

20 Hands-on dig naist.jp ; <<>> DiG P1 <<>> naist.jp ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7644 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;naist.jp. IN A ;; AUTHORITY SECTION: naist.jp IN SOA ns.naist.jp. noc.itc.naist.jp ;; Query time: 2 msec ;; SERVER: #53( ) ;; WHEN: Mon May 23 16:29: ;; MSG SIZE rcvd: 73 20

21 Hands-on dig ANY naist.jp ;; QUESTION SECTION: ;naist.jp. IN ANY ;; AUTHORITY SECTION: jp IN NS e.dns.jp. jp IN NS g.dns.jp. jp IN NS c.dns.jp. jp IN NS d.dns.jp. jp IN NS a.dns.jp. jp IN NS f.dns.jp. jp IN NS b.dns.jp. 21

22 Hands-on dig ANY naist.jp ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 3 ;; QUESTION SECTION: ;naist.jp. IN ANY ;; AUTHORITY SECTION: naist.jp IN NS naistdns.oist.jp. naist.jp IN NS ns.naist.jp. naist.jp IN NS ns.tokyo.wide.ad.jp. 22

23 Hands-on dig ANY naist.jp ;; ANSWER SECTION: naist.jp IN SOA ns.naist.jp. noc.itc.naist.jp. naist.jp IN ip6:2001:200:16a::/48 ~all" SPF "v=spf1 ip4: /16 naist.jp IN ip6:2001:200:16a::/48 ~all" TXT "v=spf1 ip4: /16 naist.jp IN MX 20 mailgate22.naist.jp. naist.jp IN MX 10 mailgate21.naist.jp. naist.jp IN NS ns.tokyo.wide.ad.jp. naist.jp IN NS ns.naist.jp. naist.jp IN NS naistdns.oist.jp. 23

24 Web and HTTP 24

25 World Wide Web 1989, CERN: Conseil Européen pour la Recherche Nucléaire W3C: World Wide Web Consortium, 1994 Collection of content in the form of webpages Hypertext: one page points to another page 25

26 Communication in the Internet Copyright 2015 Pearson Education 26

27 Client/server architecture Client (browser) Determine the protocol Ask DNS for the IP address of server Make a TCP connection to server Send request for the page; server sends it back Fetch other URLs as needed to display the page Close idle TCP connections 27

28 Client/server architecture Server Accepts a TCP connection from client Get page request and map it to a resource Get the resource Send contents of the resource to the client Release idle TCP connections 28

29 Dynamic Pages Web Applications Pages generated by programs running at the server and the client E.g., PHP at server, JavaScript at client Pages vary each time Web applications; set of technologies that work together: AJAX HTML: presnet information as pages DOM: change parts of the page while they are viewed XML: let programs exchange data with the server JavaScript as a language to bind all this together 29

30 HTTP Basics HyperText Transfer Protocol (RFC 2616) Application layer protocol of the web Client-server model TCP-based protocol Client connects to port 80 on the server HTTP messages are exchanged Client closes the connection HTTP is stateless Server does not store state on previous requests Design simplification: easier failure recovery, load balancing 30

31 Evolution of HTML Item HTML 1.0 HTML 2.0 HTML 3.0 HTML 4.0 HTML 5.0 Hyperlinks Images Lists Active maps & images Forms Equations Toolbars Tables Accessibility features Object embedding Style sheets Scripting Video and audio Inline vector graphics XML representation Background threats Browser storage Drawing canvas 31

32 Uniform Resource Locator (URL) RFC 1738 Requests for objects are URLs protocol server Port # Path to object object http https ftp file mailto rtsp sip about hypertext With security File transfer protocol Local file Sending Streaming media Multimedia calls Browser information 32

33 Types of connections Non-persistent HTTP (HTTP 1.0) At most one object is sent over a TCP connection Request/response Persistent HTTP (HTTP 1.1) Multiple objects can be sent over a single connection 33

34 Non-persistent HTTP: response time Round-trip time (RTT) Time for a small packet to travel from the client to the server and back to the client Response time One RTT to initiate the connection One RTT for request and start of response File transmission time Total time = #objects*(2*rtt + transit_time) 34

35 Persistent HTTP: response time Server leaves connection open after sending response Subsequent HTTP messages are sent over the same open connection One RTT for each referenced object once the connection is setup Response time One RTT to initiate the connection One RTT for request and start of response per object File transmission time per object Total time = RTT + #objects*(rtt + transit_time) 35

36 HTTP Request Methods Method GET HEAD POST PUT DELETE TRACE CONNECT OPTIONS Function Read a Web page Read a Web page s header Append to a Web page Store a Web page Remove the Web page Echo the incoming request Connect through a proxy Query options for a page Human-readable ASCII text 36

37 HTTP Response Codes 200 OK Request succeeded; request object is in the message 301 Moved Permanently Requested object moved; new location specified in a location: header in the list of headers 400 Bad Request The server could not understand the request 404 Not Found The requested content is not found on the server 505 HTTP Version Not Supported Unsupported version 37

38 Hands-on Run telnet 80 Type in a basic GET request GET /index.html HTTP/1.1 Look at the response 38

39 Cookies in HTTP HTTP is stateless Cookies provide a mechanism for Web servers to store Four components Cookie header line in the HTTP response message Cookie header line in subsequent HTTP request messages Cookie file stored on user s host and managed by browser Back-end database at the web server host 39

40 How to cookie rakuten.co.jp: 1984 Client HTTP request HTTP response Set-cookie: 1984 server rakuten.co.jp Creates an ID 1984 For the request HTTP request Cookie: 1984 Cookie-specific action DB Future session rakuten.co.jp: 1984 HTTP request Cookie: 1984 Cookie-specific action 40

41 Maintaining state with cookies Cookies help servers store: Shopping cart info Login name, authorization credentials Preferences Session state History of web pages First-party cookies Third-party cookies 41

42 Web Caches (proxy servers) User sets browser: web access via cache Browser sends all HTTP requests to cache Advantages: Reduce response time if proxy is closer/faster Reduce traffic on the web server Reduce traffic on the organization s link 42

43 HTTP Headers Function Browser capabilities (client -> server) Caching related (mixed directions) Browser context (client -> server) Content delivery (server -> client) Example Headers User-Agent, Accept, Accept-Charset, Accept-Encoding Accept-Language If-Modified-Since, If-None-Match, Date, Last-Modified, Expires, Cache-Control, ETag Cookie, Referer, Authorization, Host Content-Encoding, Content-Length, Content-Type, Content- Language, Content-Range, Set-Cookie 43

44 HTTP Conditional GET Request an object but do not send it if the cache has an up-to-date version HTTP Request GET /index.html HTTP/1.1 Host: somesite.sn HTTP Response HTTP/ OK Date: Wed, 25 May :05:15 JST Server: Apache/2.4 (CentOS) Last-Modified: Mon, 23 May :36:49 JST ETag: 4d eg-5e59c778g4e11 Accept-Ranges: bytes Content-Length: 6111 Vary: Accept-Encoding Content-Type: text/html 44

45 Content Delivery Networks Miscellaneous 45

46 Content Delivery Delivery of content (video, image, audio, etc.) to users is a major component of Internet traffic. Content and Internet traffic Server farms Content delivery networks 46

47 Server Farms Server Farms enable large-scale Web servers Front-end load-balances requests over servers Server access the same backend database Internet Load balancer Front end Backend DB servers 47

48 Content Delivery Networks (CDNs) (1/3) CDNs scale Web servers by having clients get content from a nearby CDN node (cache) CDN origin server Distribution of content Beijing Tokyo Dakar Page fetch Clients 48

49 Content Delivery Networks (CDNs) (2/3) Directing clients to nearby nodes with DNS: Client query returns local CDN node as response Local CDN node caches content for nearby clients and reduces load on the origin server Tokyo CDN node 1: distribute content CDN origin server Dakar CDN node 4: fetch page 2: query DNS CDN DNS server Tokyo client 3: Contact Tokyo contact Dakar Dakar client 49

50 Content Delivery Networks (CDNs) (3/3) Origin server rewrites pages to serve content via CDN Traditional web page CDN configured page <html> <head> <title> Viral Videos </title> </head> <body> <h1> List of the videos </h1> <p> Click below for free samples </p> <a href= dancingcat.mpg > Cool cats </a> <a href= roflbaby.mpg > Baby laughing out loud </a> <a href= shootingmonkey.mpg > Monkey with AK47 </a> </body> </html> <html> <head> <title> Viral Videos </title> </head> <body> <h1> List of the videos </h1> <p> Click below for free samples </p> <a href= >...</a> <a href= > </a> <a href= ></a> </body> </html> 50

51 More Applications Electronic Mail: SMTP Streaming audio and video Peer-to-peer applications IoT applications Al-Fuqaha, Ala, et al. "Internet of things: A survey on enabling technologies, protocols, and applications." Communications Surveys & Tutorials, IEEE 17.4 (2015):

52 The End 52

Information Network I: The Application and Upper Layers

Information Network I: The Application and Upper Layers Information Network I: The Application and Upper Layers Youki Kadobayashi Doudou Fall Laboratory for Cyber Resilience Nara Institute of Science and Technology Outline Domain Name System World Wide Web

More information

CS4/MSc Computer Networking. Lecture 3: The Application Layer

CS4/MSc Computer Networking. Lecture 3: The Application Layer CS4/MSc Computer Networking Lecture 3: The Application Layer Computer Networking, Copyright University of Edinburgh 2005 Network Applications Examine a popular network application: Web Client-server architecture

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content

More information

Information Network Systems The application layer. Stephan Sigg

Information Network Systems The application layer. Stephan Sigg Information Network Systems The application layer Stephan Sigg Tokyo, November 15, 2012 Introduction 04.10.2012 Introduction to the internet 11.10.2012 The link layer 18.10.2012 The network layer 25.10.2012

More information

DNS and HTTP. A High-Level Overview of how the Internet works

DNS and HTTP. A High-Level Overview of how the Internet works DNS and HTTP A High-Level Overview of how the Internet works Adam Portier Fall 2017 How do I Google? Smaller problems you need to solve 1. Where is Google? 2. How do I access the Google webpage? 3. How

More information

CS 3640: Introduction to Networks and Their Applications

CS 3640: Introduction to Networks and Their Applications CS 3640: Introduction to Networks and Their Applications Fall 2018, Lecture 19: Application Layer III (Credit: Prof. Phillipa Gill @ University of Massachusetts) Instructor: Rishab Nithyanand Teaching

More information

2. Introduction to Internet Applications

2. Introduction to Internet Applications 2. Introduction to Internet Applications 1. Representation and Transfer 2. Web Protocols 3. Some Other Application Layer Protocols 4. Uniform Resource Identifiers (URIs) 5. Uniform Resource Locators (URLs)

More information

Domain Name System (DNS) Session-1: Fundamentals. Joe Abley AfNOG Workshop, AIS 2017, Nairobi

Domain Name System (DNS) Session-1: Fundamentals. Joe Abley AfNOG Workshop, AIS 2017, Nairobi Domain Name System (DNS) Session-1: Fundamentals Joe Abley AfNOG Workshop, AIS 2017, Nairobi Computers use IP addresses. Why do we need names? Names are easier for people to remember Computers may be moved

More information

Domain Name System (DNS) DNS Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale. The old solution: HOSTS.

Domain Name System (DNS) DNS Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale. The old solution: HOSTS. Domain Name System (DNS) Computers use IP addresses. Why do we need names? Names are easier for people to remember DNS Fundamentals Computers may be moved between networks, in which case their IP address

More information

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol SMTP Electronic Mail Three Components: 1. User Agents a.k.a. mail reader e.g., gmail, Outlook, yahoo 2. Mail Servers mailbox contains incoming messages for user message queue of outgoing (to be sent) mail

More information

FTP. Client Server Model. Kent State University Dept. of Computer Science. CS 4/55231 Internet Engineering. Server Models

FTP. Client Server Model. Kent State University Dept. of Computer Science. CS 4/55231 Internet Engineering. Server Models Client Server Model Client: Any program can be a client temporarily of a specific remote service. Generally it is invoked, controlled by user. It runs only one session. CS 4/55231 Internet Engineering

More information

ECE 435 Network Engineering Lecture 7

ECE 435 Network Engineering Lecture 7 ECE 435 Network Engineering Lecture 7 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 25 September 2018 HW#3 was Posted Announcements 1 HW#2 Review C code will be discussed next

More information

Application Layer Protocols

Application Layer Protocols Application Layer Protocols Dr. Ihsan Ullah Department of Computer Science & IT University of Balochistan, Quetta Pakistan Email: ihsan.ullah.cs@gmail.com These slides are adapted from the slides accompanying

More information

Domain Name Service. DNS Overview. October 2009 Computer Networking 1

Domain Name Service. DNS Overview. October 2009 Computer Networking 1 Domain Name Service DNS Overview October 2009 Computer Networking 1 Why DNS? Addresses are used to locate objects (contain routing information) Names are easier to remember and use than numbers DNS provides

More information

Internet Content Distribution

Internet Content Distribution Internet Content Distribution Chapter 1: Introduction Jussi Kangasharju Chapter Outline Introduction into content distribution Basic concepts TCP DNS HTTP Outline of the rest of the course Kangasharju:

More information

Networking Applications

Networking Applications Networking Dr. Ayman A. Abdel-Hamid College of Computing and Information Technology Arab Academy for Science & Technology and Maritime Transport 1 Outline Introduction Name Space concepts Domain Name Space

More information

Domain Name System (DNS) Session-1: Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale

Domain Name System (DNS) Session-1: Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale Domain Name System (DNS) Computers use IP addresses. Why do we need names? Names are easier for people to remember Session-1: Fundamentals Computers may be moved between networks, in which case their IP

More information

DNS Basics BUPT/QMUL

DNS Basics BUPT/QMUL DNS Basics BUPT/QMUL 2018-04-16 Related Information Basic function of DNS Host entry structure in Unix Two system calls for DNS database retrieving gethostbyname () gethostbyaddr () 2 Agenda Brief introduction

More information

page 1 Plain Old DNS WACREN, DNS/DNSSEC Regional Workshop Ouagadougou, October 2016

page 1 Plain Old DNS WACREN, DNS/DNSSEC Regional Workshop Ouagadougou, October 2016 page 1 Plain Old DNS WACREN, DNS/DNSSEC Regional Workshop Ouagadougou, 10-14 October 2016 page 2 IP: Identifiers on the Internet The fundamental identifier on the internet is an IP address. Each host connected

More information

Application Layer Chapter 7

Application Layer Chapter 7 Application Layer Chapter 7 DNS Domain Name System Electronic Mail The Web Streaming Audio and Video Content Delivery Revised: August 2011 and February 2018 The Application Layer Uses transport services

More information

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved CSC358 Week 2 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Logistics Tutorial this Friday Assignment 1 will be out shortly

More information

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose CSEN 404 Introduction to Networks Mervat AbuElkheir Mohamed Abdelrazik ** Slides are attributed to J. F. Kurose HTTP Method Types HTTP/1.0 GET POST HEAD asks server to leave requested object out of response

More information

Web, HTTP and Web Caching

Web, HTTP and Web Caching Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects

More information

CS 455/555 Spring 2011 Weigle

CS 455/555 Spring 2011 Weigle Homework 2 Application-Level Protocols Assigned: Tuesday, February 1, 2011 Due: Tuesday, February 15, 2011 at the beginning of class CS 455 100 points CS 555 112 points Note: All homework assignments must

More information

Review of Previous Lecture

Review of Previous Lecture Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose

More information

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 CSC 401 Data and Computer Communications Networks Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network applications 2.2

More information

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10 EE 586 Communication and Switching Networks (Fall 2010) Lecture 10 September 17 2010 1-1 Announcement Send me your group and get group ID HW3 (short) out on Monday Personal leave for next two weeks No

More information

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers 2007, Jae-sul Lee. All rights reserved. 1 Agenda 11.1 TCP/IP Transport Layer 11.2 The Application Layer What does the TCP/IP transport layer

More information

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 6 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 20 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology

More information

DATA COMMUNICATOIN NETWORKING

DATA COMMUNICATOIN NETWORKING DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction Course Overview Basics of Computer Networks Internet

More information

CMSC 332 Computer Networking Web and FTP

CMSC 332 Computer Networking Web and FTP CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into

More information

HyperText Transfer Protocol

HyperText Transfer Protocol Outline Introduce Socket Programming Domain Name Service (DNS) Standard Application-level Protocols email (SMTP) HTTP HyperText Transfer Protocol Defintitions A web page consists of a base HTML-file which

More information

Chapter 7. The Application Layer. DNS The Domain Name System. DNS Resource Records. The DNS Name Space Resource Records Name Servers

Chapter 7. The Application Layer. DNS The Domain Name System. DNS Resource Records. The DNS Name Space Resource Records Name Servers DNS The Domain Name System Chapter 7 The Application Layer The DNS Name Space Resource Records Name Servers The DNS Name Space DNS Resource Records A portion of the Internet domain name space. (1) MX:

More information

Q U E S T I O N 3 In the current version of IP (IPv4), the use of TCP and UDP headers differ in which of the following ways?

Q U E S T I O N 3 In the current version of IP (IPv4), the use of TCP and UDP headers differ in which of the following ways? Preview Test: HW 2 Test Information Description Chapter 2 Instructions Due:Oct. 17 5 PM Multiple Attempts Not allowed. This test can only be taken once. Force Completion This test can be saved and resumed

More information

Goal of this session

Goal of this session DNS refresher Overview Goal of this session What is DNS? How is DNS built and how does it work? How does a query work? Record types Caching and Authoritative Delegation: domains vs zones Finding the error:

More information

EECS 122: Introduction to Computer Networks DNS and WWW. Internet Names & Addresses

EECS 122: Introduction to Computer Networks DNS and WWW. Internet Names & Addresses EECS 122: Introduction to Computer Networks DNS and WWW Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776 Internet

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Some network apps e-mail web text messaging remote

More information

Applications & Application-Layer Protocols: (SMTP) and DNS

Applications & Application-Layer Protocols:  (SMTP) and DNS CS 312 Internet Concepts Applications & Application-Layer Protocols: E (SMTP) and DNS Dr. Michele Weigle Department of Computer Science Old Dominion University mweigle@cs.odu.edu http://www.cs.odu.edu/~mweigle/cs312-f11

More information

CS 43: Computer Networks. HTTP September 10, 2018

CS 43: Computer Networks. HTTP September 10, 2018 CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.

More information

Application Layer: HTTP

Application Layer: HTTP Application Layer: HTTP EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 23-Jan-18 1-1 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic

More information

Layered Model. DoD Model. ISO/OSI Model

Layered Model. DoD Model. ISO/OSI Model Data Communications vs Networking (later) Communication is concerned with the transmission of data over a communication medium/channel between two entities. Here we are more concerned about EE issues such

More information

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University Computer Networks More on Standards & Protocols Quality of Service Week 10 College of Information Science and Engineering Ritsumeikan University Introduction to Protocols l A protocol is a set of rules

More information

Review for Internet Introduction

Review for Internet Introduction Review for Internet Introduction What s the Internet: Two Views View 1: Nuts and Bolts View billions of connected hosts routers and switches protocols control sending, receiving of messages network of

More information

Advanced Networking. Domain Name System

Advanced Networking. Domain Name System Advanced Networking Domain Name System Purpose of DNS servers Human being has many identifications: 1) Our name can be used for identification Problem: Two differenet people may have same name. 2) Mobile

More information

Advanced Networking. Domain Name System. Purpose of DNS servers. Purpose of DNS servers. Purpose of DNS servers

Advanced Networking. Domain Name System. Purpose of DNS servers. Purpose of DNS servers. Purpose of DNS servers Purpose of DNS servers Advanced Networking Domain Name System Human being has many identifications: 1) Our name can be used for identification Problem: Two differenet people may have same name. 2) Mobile

More information

Protocol Classification

Protocol Classification DNS and DHCP TCP/IP Suite Suite of protocols (not just TCP and IP) Main protocols TCP and UDP at the Transport Layer, and IP at the Network Layer Other protocols ICMP, ARP, Telnet, Ftp, HTTP, SMTP, SNMP

More information

SOFTWARE ARCHITECTURE 9. NAME RESOLUTION.

SOFTWARE ARCHITECTURE 9. NAME RESOLUTION. 1 SOFTWARE ARCHITECTURE 9. NAME RESOLUTION Tatsuya Hagino hagino@sfc.keio.ac.jp lecture URL https://vu5.sfc.keio.ac.jp/slide/ 2 OSI Reference Model Open Systems Interconnect ISO defined around 1984. Application

More information

EECS 3214: Computer Network Protocols and Applications

EECS 3214: Computer Network Protocols and Applications EECS 3214: Computer Network Protocols and Applications Suprakash Datta Course page: http://www.eecs.yorku.ca/course/3214 Office: LAS 3043 Email: datta [at] cse.yorku.ca These slides are adapted from Jim

More information

Domain Name System (DNS)

Domain Name System (DNS) Domain Name System (DNS) Smith College, CSC 249 Feb 6, 2017 1 TODAY: Domain Name System qthe directory system for the Internet v Used by other application layer protocols v via socket programming qmaps

More information

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model Networking Networking is concerned with the physical topology of two or more communicating entities and the logical topology of data transmission. Layered Model Systems communicate over a shared communication

More information

A DNS Tutorial

A DNS Tutorial http://ntrg.cs.tcd.ie/undergrad/4ba2/multicast/ Copyright Table of Contents What is a DNS?... 3 Why do we need a DNS?... 3 Why do computers prefer addresses based on numbers?... 3 What is a Domain Name,

More information

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming with UDP and TCP Application

More information

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app Application Layer e- web instant messaging remote login P2P file sharing multi- network games streaming stored video (YouTube) voice over IP real-time video conferencing cloud computing Creating a network

More information

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved World-Wide Web Protocols CS 571 Fall 2006 2006 Kenneth L. Calvert All rights reserved World-Wide Web The Information Universe World-Wide Web structure: hypertext Nonlinear presentation of information Key

More information

CS 3640: Introduction to Networks and Their Applications

CS 3640: Introduction to Networks and Their Applications CS 3640: Introduction to Networks and Their Applications Fall 2018, Lecture 18: The Application Layer II (Credit: Christo Wilson @ NEU) Instructor: Rishab Nithyanand Teaching Assistant: Md. Kowsar Hossain

More information

Domain Name System.

Domain Name System. Domain Name System http://xkcd.com/302/ CSCI 466: Networks Keith Vertanen Fall 2011 Overview Final project + presentation Some TCP and UDP experiments Domain Name System (DNS) Hierarchical name space Maps

More information

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Chapter 2: Application Layer Our goals: conceptual, implementation

More information

[Prof. Rupesh G Vaishnav] Page 1

[Prof. Rupesh G Vaishnav] Page 1 Q-1 Explain DNS (Domain Name System) in detail with example. OR Explain : DNS and its advantages DNS is an internet service that translates domain names into IP addresses. Because domain names are alphabetic,

More information

Computer Networking: Applications George Blankenship. Applications George Blankenship 1

Computer Networking: Applications George Blankenship. Applications George Blankenship 1 CSCI 232 Computer Networking: Applications i George Blankenship Applications George Blankenship 1 TCP/IP Applications The user of TCP/IP transport (TCP/UDP) is an application, the top level lof the TCP/IP

More information

Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0

Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0 Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0 CCNET v6 10 Chapter 10 - Sections & Objectives 10.1 Application Layer Protocols Explain the operation of the application

More information

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa NET 331 Computer Networks Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth

More information

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSCE 463/612 Networks and Distributed Processing Spring 2018 CSCE 463/612 Networks and Distributed Processing Spring 2018 Application Layer III Dmitri Loguinov Texas A&M University February 8, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START MIDTERM EXAMINATION #1 NETWORKING CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R - S c h o o l o f C o m p u t e r S c i e n c e Intersession 2009 Question Paper NOTE: Students may take this

More information

Testing IPv6 address records in the DNS root

Testing IPv6 address records in the DNS root Testing IPv6 address records in the DNS root February 2007 Geoff Huston Chief Scientist APNIC Priming a DNS name server 1. Take the provided root hints file 2. Generate a DNS query for resource records

More information

Application Layer Introduction; HTTP; FTP

Application Layer Introduction; HTTP; FTP Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers

More information

Applications & Application-Layer Protocols: The Web & HTTP

Applications & Application-Layer Protocols: The Web & HTTP CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental

More information

DNS and SMTP. James Walden CIT 485: Advanced Cybersecurity. James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31

DNS and SMTP. James Walden CIT 485: Advanced Cybersecurity. James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31 DNS and SMTP James Walden CIT 485: Advanced Cybersecurity James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31 Table of contents 1. DNS 2. DNS Protocol Packets 3. DNS Caching 4. DNS Cache Poisoning

More information

Introduction to Network. Topics

Introduction to Network. Topics Introduction to Network Security Chapter 7 Transport Layer Protocols 1 TCP Layer Topics Responsible for reliable end-to-end transfer of application data. TCP vulnerabilities UDP UDP vulnerabilities DNS

More information

Session 2. Background. Lecture Objectives

Session 2. Background. Lecture Objectives Session 2 Background 1 Lecture Objectives Understand how an Internet resource is accessed Understand the high level structure of the Internet cloud Understand the high level structure of the TCP/IP protocols

More information

Data Communication & Computer Networks MCQ S

Data Communication & Computer Networks MCQ S Data Communication & Computer Networks MCQ S 1. The translates internet domain and host names to IP address. a) domain name system b) routing information protocol c) network time protocol d) internet relay

More information

The Application Layer: Sockets, DNS

The Application Layer: Sockets, DNS The Application Layer: Sockets, DNS CS 352, Lecture 3 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana 1 App-layer protocol Types of messages exchanged, e.g., request, response Message format:

More information

Lecture 05: Application Layer (Part 02) Domain Name System. Dr. Anis Koubaa

Lecture 05: Application Layer (Part 02) Domain Name System. Dr. Anis Koubaa NET 331 Computer Networks Lecture 05: Application Layer (Part 02) Domain Name System Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition by Kurose and

More information

WEB TECHNOLOGIES CHAPTER 1

WEB TECHNOLOGIES CHAPTER 1 WEB TECHNOLOGIES CHAPTER 1 WEB ESSENTIALS: CLIENTS, SERVERS, AND COMMUNICATION Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson THE INTERNET Technical origin: ARPANET (late 1960

More information

Application Layer. Goals: Service models. Conceptual aspects of network application protocols Client server paradigm

Application Layer. Goals: Service models. Conceptual aspects of network application protocols Client server paradigm Application Layer Goals: Conceptual aspects of network application protocols Client server paradigm Service models Review protocols by examining popular application-level protocols HTTP DNS 1 Applications

More information

DNS & Iodine. Christian Grothoff.

DNS & Iodine. Christian Grothoff. DNS & Iodine christian@grothoff.org http://grothoff.org/christian/ The Domain Name System is the Achilles heel of the Web. Tim Berners-Lee 1 DNS: Domain Name System Unique Distributed Database Application-layer

More information

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer CPSC 360 Network Programming Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer Systems Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu

More information

CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols

CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols LOCAL CISCO ACADEMY ELSYS TU INSTRUCTOR: STELA STEFANOVA 1 Objectives Functions of the three upper OSI model layers, network services

More information

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers SC/CSE 3213 Winter 2013 L8: TCP/IP Overview Sebastian Magierowski York University 1 Outline TCP/IP Reference Model A set of protocols for internetworking The basis of the modern IP Datagram Exchange Examples

More information

Network Applications Principles of Network Applications

Network Applications Principles of Network Applications Network Applications Principles of Network Applications A Network application is an application running on one host and provides communication to another application running on a different host. At the

More information

Application Level Protocols

Application Level Protocols Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application

More information

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016 Internet Technology 06. Exam 1 Review Paul Krzyzanowski Rutgers University Spring 2016 March 2, 2016 2016 Paul Krzyzanowski 1 Question 1 Defend or contradict this statement: for maximum efficiency, at

More information

Applications. Chong-kwon Kim. Running in end systems (hosts) over transport layer protocols Ex: , Web, FTP, instant messaging

Applications. Chong-kwon Kim. Running in end systems (hosts) over transport layer protocols Ex:  , Web, FTP, instant messaging Applications Chong-kwon Kim Applications Network applications Running in end systems (hosts) over transport layer protocols Ex: e-mail, Web, FTP, instant messaging Application layer protocols Define app.

More information

CSCI 466 Midterm Networks Fall 2013

CSCI 466 Midterm Networks Fall 2013 CSCI 466 Midterm Networks Fall 2013 Name: This exam consists of 6 problems on the following 7 pages. You may use your single-sided hand-written 8 ½ x 11 note sheet and a calculator during the exam. No

More information

Computer Network 1 1

Computer Network 1 1 Computer Network 1 1 Chapter 10: Application Layer Advanced Principal Concepts Samples and Techniques Foundation Summary Question and Answer 2 Outline Application Layer There is a need for support protocols,

More information

Naming. CS 475, Spring 2018 Concurrent & Distributed Systems. Slides by Luís Pina

Naming. CS 475, Spring 2018 Concurrent & Distributed Systems. Slides by Luís Pina Naming CS 475, Spring 2018 Concurrent & Distributed Systems Slides by Luís Pina (lpina2@gmu.edu) 1 Domain Name System Name Discovery 2 What happens after typing the name of the host? The internet routes

More information

Implementing DNSSEC with DynDNS and GoDaddy

Implementing DNSSEC with DynDNS and GoDaddy Implementing DNSSEC with DynDNS and GoDaddy Lawrence E. Hughes Sixscape Communications 27 December 2017 DNSSEC is an IETF standard for adding security to the DNS system, by digitally signing every resource

More information

0 0& Basic Background. Now let s get into how things really work!

0 0& Basic Background. Now let s get into how things really work! +,&&-# Department of Electrical Engineering and Computer Sciences University of California Berkeley Basic Background General Overview of different kinds of networks General Design Principles Architecture

More information

CS615 - Aspects of System Administration

CS615 - Aspects of System Administration CS615 - Aspects of System Administration Slide 1 CS615 - Aspects of System Administration DNS; HTTP Department of Computer Science Stevens Institute of Technology Jan Schaumann jschauma@stevens-tech.edu

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

More information

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION Department of Computer Science University of Calgary Professor: Carey Williamson March 2, 2012 This is a CLOSED BOOK exam. Textbooks, notes, laptops,

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2016 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Presentation 1 Application-Layer Protocol Topic Approval PAST DUE Presentations Sept 22 nd, Sept 29 th, Oct

More information

DNS. A Massively Distributed Database. Justin Scott December 12, 2018

DNS. A Massively Distributed Database. Justin Scott December 12, 2018 DNS A Massively Distributed Database Justin Scott December 12, 2018 What is DNS? Translates Hostnames to IP Addresses What is DNS? Example: www.serverlogic.com 23.185.0.4 What is DNS? Example: www.serverlogic.com

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Homework #1 Assigned today Due in one week Application layer: DNS, HTTP, protocols Recommend you start early

More information

CompSci 356: Computer Network Architectures. Lecture 20: Domain Name System (DNS) and Content distribution networks Chapter 9.3.1

CompSci 356: Computer Network Architectures. Lecture 20: Domain Name System (DNS) and Content distribution networks Chapter 9.3.1 CompSci 356: Computer Network Architectures Lecture 20: Domain Name System (DNS) and Content distribution networks Chapter 9.3.1 Xiaowei Yang xwy@cs.duke.edu Overview Domain Name System Content Distribution

More information

Networks, WWW, HTTP. Web Technologies I. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP / 35

Networks, WWW, HTTP. Web Technologies I. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP / 35 Networks, WWW, HTTP Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 1 / 35 Table of Contents Networks Internet 1 Networks Internet

More information

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols CCNA Exploration Network Fundamentals Chapter 03 Application Functionality and Protocols Updated: 27/04/2008 1 3.1 Applications: The Interface Between Human and Networks Applications provide the means

More information

CSC 4900 Computer Networks:

CSC 4900 Computer Networks: CSC 4900 Computer Networks: Email Professor Henry Carter Fall 2017 Villanova University Department of Computing Sciences Review Last week we talked about design principles, and the application protocols

More information