Application Layer Protocols

Similar documents
Chapter 2 Application Layer. Lecture 5 DNS. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

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

Computer Networking Introduction

The Application Layer: Sockets, DNS

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

Chapter 2 Application Layer

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

Lecture 7: Application Layer Domain Name System

FTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks

Application Layer: , DNS

Domain Name System (DNS) 김현철 ( 화 ) 정보통신융합서울대학교컴퓨터공학부

Chapter 2: Application layer

Application Layer. Applications and application-layer protocols. Goals:

Chapter II: Application Layer

CS 3516: Advanced Computer Networks

CSC 401 Data and Computer Communications Networks

Chapter 2 part B: outline

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

CS 43: Computer Networks. 10: Naming and DNS September 24, 2018

Chapter 2 Application Layer

Information Network Systems The application layer. Stephan Sigg

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

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

Domain Name System (DNS)

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

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

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

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

DNS Basics BUPT/QMUL

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

Application Layer. Goals:

Application Layer. Applications and application-layer protocols. Goals:

Advanced Networking. Domain Name System

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

2. Introduction to Internet Applications

Applications Layer Protocols. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Chapter 1 Introduction

Internet Services & Protocols. Application Layer and its Services

Networking Applications

Section 2: Application layer

CC451 Computer Networks

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

CS 3516: Advanced Computer Networks

Communications Software. CSE 123b. CSE 123b. Spring Lecture 11: Domain Name System (DNS) Stefan Savage. Some pictures courtesy David Wetherall

CSE 123b Communications Software. Overview for today. Names and Addresses. Goals for a naming system. Internet Hostnames

2.5 DNS The Internet s Directory Service

internet technologies and standards

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Chapter 2 Application Layer

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

Review of Previous Lecture

Review for Internet Introduction

Traditional Internet Applications

CSEN 503 Introduction to Communication Networks

Application layer. Some network apps. Client-server architecture. Hybrid of client-server and P2P. Pure P2P architecture. Creating a network app

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

Internet applications. 2: Application Layer 1

DNS & Iodine. Christian Grothoff.

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

Lecture 2 - Application Layer. Lecture 1 Review. Application Layer. Principles of network applications. Notes. Notes. Notes. Notes

Chapter 2 Application Layer

Chapter 1 Introduction

Chapter 2 Application Layer

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

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

Application Layer: HTTP

Naming Computer Networking. Overview. DNS: Domain Name System. Obvious Solutions (1) Obvious Solutions (2)

Chapter 2 Application Layer

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

Chapter 2 Application Layer

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

Application Layer: OSI and TCP/IP Models

Introduction to Computer Networking. Guy Leduc. Chapter 2 Application Layer. Chapter 2: outline

Chapter 2: Application layer

Web caches (proxy server)

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

DNS and CDNs : Fundamentals of Computer Networks Bill Nace

Introduction to Computer Networking. Guy Leduc. Chapter 2 Application Layer. Chapter 2: outline

EECS 3214: Computer Network Protocols and Applications

Goal and A sample Network App

Application Layer Chapter 2

Chapter 2. Computer Networking: A Top. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

EECS 3214: Computer Network Protocols and Applications

Chapter 2 outline. 2.1 Principles of app layer protocols

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

CS 3516: Advanced Computer Networks

Computer Network 1 1

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

DATA COMMUNICATOIN NETWORKING

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

Writing Assignment #1. A Technical Description for Two Different Audiences. Yuji Shimojo WRTG 393. Instructor: Claudia M. Caruana

Chapter P2P file sharing network applications 2.22 Web and HTTP 2.3 FTP DNS

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

Chapter 2. Application Layer. 2: Application Layer 1

IP ADDRESSES, NAMING, AND DNS

The Domain Name System

Protocol Classification

Miscellaneous. Name Service. Examples. Outline Domain Name System Peer-to-Peer Networks

Transcription:

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 the text: Computer Networking: A Top-Down Approach 6th ed., J.F Kurose and K.W. Ross, All Rights Reserved June 22, 2015 1 / 29

Outline 1 Principles of network applications 2 Web and HTTP 3 DNS (Domain Name System) 2 / 29

Creating Network applications Programs that run on different hosts and communicate over network example: web server and web browser No user applications for network core Rapid application development 3 / 29

Network application architecture Network application can be broadly classified into two categories based on their architecture Client-server Peer-to-peer (P2P) 4 / 29

Client-server architecture Server run server process Client run client process Client process initiates communication Server process waits to be contacted No client to client communication Server is always on Clients intermittently connect Centralized architecture 5 / 29

P2P architecture Decentralized architecture End-hosts (peers) contain both client & server processes Self-scalability: new peers bring new service capacity as well as new service demands Highly dynamic: End-hosts arrive and depart freely Complex management 6 / 29

Process communication over a network Program running within a host is called a process Two processes on different hosts need to identify each other for communication IP address and port number pair (socket) identifies a process over a network IP address uniquely identifies a host on a network and a port number uniquely identifies a network process within a host Processes send/receive messages to/from sockets Processes rely on transport infrastructure to deliver messages to destination process 7 / 29

Application layer protocol defines Types of messages exchanged Request, response Message syntax Fields in messages & how they are delineated Message semantics meaning of information in fields Rules for when and how processes send & respond to messages Open protocols: Defined in RFCs (HTTP, SMTP) Proprietary protocols: Specifications not revealed (Skype) 8 / 29

Transport services required by applications 9 / 29

Outline 1 Principles of network applications 2 Web and HTTP 3 DNS (Domain Name System) 10 / 29

Web page Consists of objects: HTML file, JPEG image, java applet, audio file... Web page has a base HTML file which include references to several objects Each object is addressable by a url: www.someschool.edu/somedept/pic.gif host name path name 11 / 29

HTTP: HyperText Transfer protocol Web s application layer protocol Client/server model client: Browser that requests, receives, and displays Web objects server: Web server sends objects in response to requests 12 / 29

HTTP: HyperText Transfer protocol Uses TCP as transport layer protocol Client initiates TCP connection (creates socket) to server at port 80 Server accepts TCP connection from client HTTP messages exchanged between browser (HTTP client) and Web server (HTTP server) TCP connection closed HTTP is stateless server maintains no information about past client requests Statefull protocols are complex: Maintaining past history, keeping consistent views 13 / 29

Persistent vs. non-persistent connections Non-persistent HTTP After TCP connection is established between client and server, at most one object is sent over the connection by server and then the connection is closed Downloading multiple objects require multiple connections Persistent HTTP Multiple objects can be sent over single TCP connection between client and server 14 / 29

HTTP request message HTTP uses two types of messages: request and response Both messages are in ASCII (human readable format) 15 / 29

HTTP request message General format 16 / 29

HTTP response message 17 / 29

Outline 1 Principles of network applications 2 Web and HTTP 3 DNS (Domain Name System) 18 / 29

DNS (Domain Name System) A directory service that translates host names to IP addresses Implemented as a distributed database implemented in a hierarchy of DNS servers An application-layer protocol that allows hosts to query the distributed database DNS servers are often UNIX machines running the Berkeley Internet Name Domain (BIND) software Runs over UDP and uses port 53 DNS is commonly employed by other application-layer protocols such as HTTP, SMTP, FTP 19 / 29

DNS services hostname to IP address translation host aliasing canonical, alias names mail server aliasing load distribution replicated Web servers: many IP addresses correspond to one name 20 / 29

DNS: a distributed hierarchical database 21 / 29

DNS root name servers contacted by local name server that cannot resolve name root name server: contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server 22 / 29

TLD, Authoritative servers Top-level domain (TLD) servers Responsible for com, org, net, edu, aero, jobs, museums, and all top-level country domains, e.g. uk, fr Network Solutions maintains servers for.com TLD Educause for.edu TLD Authoritative DNS servers Organization s own DNS server(s), providing authoritative hostname to IP mappings for organization s named hosts Can be maintained by organization or service provider 23 / 29

DNS name resolution host at cis.poly.edu wants IP address for gaia.cs.umass.edu Iterated query: contacted server replies with name of server to contact I dont know this name, but ask this server 24 / 29

DNS name resolution Recursive Query Puts burden of name resolution on contacted name server Heavy load at upper levels of hierarchy 25 / 29

DNS caching Once (any) name server learns mapping, it caches mapping Cache entries timeout (disappear) after some time (TTL) TLD servers typically cached in local name servers thus root name servers not often visited Cached entries may be out-of-date (best effort name-to-address translation) if name host changes IP address, may not be known Internet-wide until all TTLs expire update/notify mechanisms proposed IETF standard (RFC 2136) 26 / 29

DNS records DNS: distributed database storing resource records (RR) RR format: (name, value, type, TTL) type=a name is hostname type=cname value is IP address name is alias name for some (relay1.bar.foo.com, canonical (the real) name 145.37.93.126, A) value is canonical name type=ns (foo.com, relay1.bar.foo.com, name is domain name CNAME) value is hostname of authoritative name server for this domain (foo.com, dns.foo.com, NS) type=mx value is name of mailserver associated with name (foo.com, mail.bar.foo.com, MX) 27 / 29

DNS message format Uses the same message format for both query and reply messages 28 / 29

Inserting records into DNS example: new startup EduOnline register name eduonline.com at DNS registrar (e.g., Network Solutions) provide names, IP addresses of authoritative name server registrar inserts two RRs into.com TLD server:(eduonline.com, dns1.eduonline.com, NS) (dns1.eduonline.com, 191.14.12.1, A) 29 / 29