Application-layer Protocols

Similar documents
Chapter 2 part B: outline

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

Chapter 2: Application layer

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

Application Layer: , DNS

Computer Networking Introduction

CSc 450/550 Computer Networks Domain Name System

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

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

CSE561 Naming and DNS. David Wetherall

CSEN 503 Introduction to Communication Networks

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

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

Computer Networks. Domain Name System. Jianping Pan Spring /25/17 CSC361 1

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

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

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

Chapter 2 outline. 2.1 Principles of app layer protocols

Chapter 2 Application Layer

IP ADDRESSES, NAMING, AND DNS

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

CSC 401 Data and Computer Communications Networks

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

Chapter 2 Application Layer

CS 3516: Advanced Computer Networks

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

Application Layer. Goals:

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

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

CSCD 330 Network Programming Winter 2015

Internet applications. 2: Application Layer 1

Lecture 7: Application Layer Domain Name System

Internet Services & Protocols. Application Layer and its Services

Lecture 6: Application Layer Web proxies, , and SMTP

CS 3516: Computer Networks

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

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

Transport Layer Overview

CSC 4900 Computer Networks:

More on Link Layer. Recap of Last Class. Interconnecting Nodes in LAN (Local-Area Network) Interconnecting with Hubs. Computer Networks 9/21/2009

DNS. dr. C. P. J. Koymans. September 16, Informatics Institute University of Amsterdam. dr. C. P. J. Koymans (UvA) DNS September 16, / 46

WWW: the http protocol

The Application Layer: & SMTP

Information Network Systems The application layer. Stephan Sigg

CS 716: Introduction to communication networks th class; 11 th Nov Instructor: Sridhar Iyer IIT Bombay

Internet Protocol Stack! Principles of Network Applications! Some Network Apps" (and Their Protocols)! Application-Layer Protocols! Our goals:!

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

DNS and CDNs : Fundamentals of Computer Networks Bill Nace

The Domain Name System

The Application Layer: SMTP, FTP

Internet and Intranet Protocols and Applications

Chapter 2: Application Layer

LAN Interconnection and Other Link Layer Protocols

ECE697AA Lecture 2. Today s lecture

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

Domain Name System (DNS)

CSCD 330 Network Programming Spring 2018 Lecture 5 Application Layer. Reading: Chapter 2 Still

Different Layers Lecture 21

Reliable Data Transfer

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

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

CSE 124: IP ADDRESSES, NAMING, AND DNS. George Porter Oct 4, 2017

Light at the end of the tunnel Final Lecture: Course Overview

Page 1. TCP Flow Control" TCP Flow Control" TCP Flow Control" CS162 Operating Systems and Systems Programming Lecture 16. Flow Control, DNS"

Section 2: Application layer

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

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

Chapter 2 APPLICATIONS. Computer Networks Timothy Roscoe Summer 2007

CSC 401 Data and Computer Communications Networks

Chapter 1 Introduction

Computer Networks. General Course Information. Addressing and Routing. Computer Networks 9/8/2009. Basic Building Blocks for Computer Networks

Application Layer Protocols

Course on Computer Communication and

CS 43: Computer Networks. 12: and SMTP September 28, 2018

CSE 486/586 Distributed Systems

Applications & Application-Layer Protocols: FTP and (SMTP & POP)

Computer Network 1 1

Introduction to Computer Networking. Gang Wang Fall 2016

Chapter 2 Application Layer

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

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

Internet Architecture. Network Layer Overview. Fundamental Network Layer Function. Protocol Layering and Data. Computer Networks 9/23/2009

Chapter II: Application Layer

Addressing: when mobile is moving around. Mobile Registration. Principles of Mobile Routing. Mobility via Indirect Routing

Chapter 2 Application Layer

of-service Support on the Internet

CSCE 463/612 Networks and Distributed Processing Spring 2018

Application Layer Chapter 2

CSCI-1680 DNS Rodrigo Fonseca

CSCD 330 Network Programming Spring 2017

CSCI 466 Midterm Networks Fall 2013

Table of Contents DNS. Short history of DNS (1) DNS and BIND. Specification and implementation. A short history of DNS.

CC451 Computer Networks

DNS Hierarchical Name Space. BIND Terminology and DNS Name Servers. Distributed Hierarchical Database (1st Approx) Domain Name System (DNS)

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM

NAMING, DNS, AND CHORD

Outline. EEC-484/584 Computer Networks. Slow Start Algorithm. Internet Congestion Control Algorithm

Computer Networking. Chapter #1. Dr. Abdulrhaman Alameer

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

Transcription:

Application-layer Protocols Kai Shen application transport data link physical Network Applications and Application-Layer Protocols application transport data link physical application transport data link physical Network applications: running in end systems (hosts) distributed, communicating using use communication services provided by lower layer protocols (TCP, UDP) Application-layer comm. protocols: define comm. interface between application components open protocol components implemented independently can inter-operate 10/28/2009 CSC 257/457 - Fall 2009 1 10/28/2009 CSC 257/457 - Fall 2009 2 Web and HTTP Performance of HTTP Persistency Web: the application for distributed publishing and viewing of content Client/ model : hosts published content and sends the content upon request client: requests, receives, and displays content HTTP: the comm. protocol supporting the web PC running Explorer Linux running Firefox Server running Apache Web Non-persistent HTTP (1.0) At most one object is sent over a TCP connection. Pays TCP per-connection overhead for each object. Persistent HTTP (1.1) Multiple objects can be sent over single TCP connection between the browser and web. TCP per-connection overhead: connection establishment congestion control: slow start 10/28/2009 CSC 257/457 - Fall 2009 3 10/28/2009 CSC 257/457 - Fall 2009 4 CSC 257/457 - Fall 2009 1

Additional Example Applications Remote console Components: host machine and console client Comm. protocol: SSH Electronic Components: s and readers Comm. protocol:, POP3, IMAP Domain name system (DNS) Network file system (NFS) Peer-to-peer file sharing (Gnutella, BitTorrent) 10/28/2009 CSC 257/457 - Fall 2009 5 Electronic Mail Two types of components: Mail s box contains incoming messages for s message queue of outgoing (to be sent) messages User s aka a.k.a. reader composing, editing, reading messages e.g., pine, Outlook, Web browser outgoing message queue box 10/28/2009 CSC 257/457 - Fall 2009 6 Electronic Mail Two types of protocols: transfer protocol from sender to the receiver s (simple transfer protocol) access protocol the receiver pulls s from to POP, IMAP, proprietary procotol POP3, IMAP, Interaction between s at cs.rochester.edu (client) and g.com () S: 220 g.com C: HELO cs.rochester.edu edu S: 250 Hello cs.rochester.edu, pleased to meet you C: MAIL FROM: <alice@cs.rochester.edu> S: 250 alice@cs.rochester.edu... Sender ok C: RCPT TO: <bob@g.com> S: 250 bob@g.com... Recipient ok C: DATA S: 354 Enter, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 221 g.com closing connection 10/28/2009 CSC 257/457 - Fall 2009 7 10/28/2009 CSC 257/457 - Fall 2009 8 CSC 257/457 - Fall 2009 2

Try Interaction Yourself Mail Access Protocols telnet name 25 see 220 reply from enter HELO, MAIL FROM, RCPT TO, DATA, QUIT commands This hs lets you send e without using a normal e client access protocol sender s receiver s : delivery/storage to receiver s Mail access protocol: retrieval from POP3: Post Office Protocol authorization ti and download d IMAP: Internet Mail Access Protocol manipulation of stored messages on Proprietary: G, etc. 10/28/2009 CSC 257/457 - Fall 2009 9 10/28/2009 CSC 257/457 - Fall 2009 10 DNS: Domain Name System Domain Name System: Overview People: multiple identifiers SSN good for machine bookkeeping, indexing name human friendly, easy to remember Internet hosts: IP address - used for addressing, routing on the Internet name, e.g., heart.cs.rochester.edu - human friendly Q: map between IP addresses and name? DNS query: find the IP address for a given name not part of Internet as a core function for Internet applications ssh heart.cs.rochester.edu vs. ssh 192.5.53.109 http://www.cnn.com vs. http://64.236.24.20 distributed database implemented with collaboration of many name s distributed all over the DNS queries name lookup: find the IP address for a given name others: find for a domain, 10/28/2009 CSC 257/457 - Fall 2009 11 10/28/2009 CSC 257/457 - Fall 2009 12 CSC 257/457 - Fall 2009 3

DNS: Decentralized and Hierarchical Decentralized can t just have a single /site to handle it Why not centralize DNS? single point of failure, performance bottleneck can only be close to few hosts long latency to many others Hierarchical there are different types of name s What if massively replicating it? high overhead of maintaining consistency: hard to make any changes on the data Types of Name Servers local name (defined for a particular group of hosts): each organization often has local (default) name used when one of the hosts in its domain initiates a DNS query first stop for a DNS query authoritative name (defined for a particular group of hosts): maintain IP address name mapping for a group of hosts so it can answer DNS query for these hosts used when one of the hosts in its domain is the target of a DNS query last stop for a DNS query (if ever reached) often the same as local name for an organization each local NS may not know all authoritative NSes something is missing 10/28/2009 CSC 257/457 - Fall 2009 13 10/28/2009 CSC 257/457 - Fall 2009 14 Root Name Servers root name (defined globally) bridging between local NSs and authoritative NSes contacted by local name that cannot resolve name what it does: contacts authoritative name gets result and returns it to the requesting local name e NASA Mt View, CA f Internet Software C. Palo Alto, CA b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA k RIPE London i NORDUnet Stockholm m WIDE Tokyo 10/28/2009 CSC 257/457 - Fall 2009 15 DNS Query in Action host surf.kai.com wants IP address of 1. contacts its local DNS, 2. contacts root name 3. root name contacts authoritative name, dnscsrochesteredu Note that the destination host is not involved in the lookup. 2 local name 1 6 requesting host surf.kai.com root name 5 3 4 authoritative name destination host 10/28/2009 CSC 257/457 - Fall 2009 16 CSC 257/457 - Fall 2009 4

Intermediate Name Servers root name Iterative Queries root name Root name : may not know authoritative name may know intermediate name : who to contact to find authoritative name local name 1 8 requesting host surf.kai.com 2 6 7 3 intermediate name dns.rochester.edu 4 5 authoritative name 10/28/2009 CSC 257/457 - Fall 2009 17 recursive query: puts burden of name resolution on contacted name iterative query: contacted replies with name of for next contact I don t know this name, but ask this What is the real difference here? 2 local name 1 8 requesting host surf.kai.com 3 4 7 iterative query intermediate name dns.rochester.edu 5 6 authoritative name 10/28/2009 CSC 257/457 - Fall 2009 18 DNS Caching DNS Properties once (any) name learns mapping, it caches mapping next query for the same name can be answered directly can be at any step of the name lookup (even at end host) cache entries timeout (and removed) after some time timeout is necessary because the mapping can change switch Web to a more powerful machine change the mapping between www.cs.rochester.edu to IP address of the new machine load balancing Scalability poor scalability at the few root name s made more scalable by caching Reliability problems at (even a single) root name (s) can cause big problem again, caching helps improve reliability Consistency DNS caching is replication without t consistency guarantee only feasible for stable name-ip address mapping, may not be suitable for more dynamic information 10/28/2009 CSC 257/457 - Fall 2009 19 10/28/2009 CSC 257/457 - Fall 2009 20 CSC 257/457 - Fall 2009 5

TCP vs. UDP Disclaimer We saw applications: Web/HTTP E//POP3/IMAP DNS They build on some transport services. TCP or UDP? Parts of the lecture slides contain original work of James Kurose, Larry Peterson, and Keith Ross. The slides are intended for the sole purpose of instruction of computer s at the University of Rochester. All copyrighted materials belong to their original owner(s). 10/28/2009 CSC 257/457 - Fall 2009 21 10/28/2009 CSC 257/457 - Fall 2009 22 CSC 257/457 - Fall 2009 6