Application Layer Socket API, HTTP, VoIP, DNS IS250 Spring 2010 John Chuang.

Slides:



Advertisements
Similar presentations
VoIP PRESENTATION BY HÜSEYİN SAVRAN OUTLINE PSTN an brief history of telephone.
Advertisements

World Wide Web Basics Original version by Carolyn Watters (Dalhousie U. Computer Science)
Application Layer-11 CSE401N: Computer Networks Lecture-4 Application Layer Overview HTTP.
Application layer (continued) Week 4 – Lecture 2.
1 Application Layer. 2 Writing Networked Applications TCP UDP IP LL PL TCP UDP IP LL PL TCP UDP IP LL PL Web Browser Web Server Ftp Server Ftp Client.
How the web works: HTTP and CGI explained
Networks: HTTP and DNS 1 The Internet and HTTP and DNS Examples.
Cornell CS502 Web Basics and Protocols CS 502 – Carl Lagoze Acks to McCracken Syracuse Univ.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 23 – Internet Applications Internet Directory.
Networking and Internetworking: Standards and Protocols i206 Fall 2010 John Chuang Some slides adapted from Coulouris, Dollimore and Kindberg.
Transport Layer TCP and UDP IS250 Spring 2010
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
Network Layer IS250 Spring 2010
Hypertext Transport Protocol CS Dick Steflik.
The Application Layer  application and application requirements  sample network applications and protocols  SMTP, POP3  WWW: http1.1  teleconferencing.
Process-to-Process Delivery:
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
Java Technology and Applications
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
FTP (File Transfer Protocol) & Telnet
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
1 HTTP Messages Herng-Yow Chen. 2 Outline The Flow of Messages The Parts of a Message The various methods that request message support The various status.
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
Application Layer 2 Figures from Kurose and Ross
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Services Networking for Home and Small Businesses – Chapter.
Sistem Jaringan dan Komunikasi Data #9. DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address.
Network Services Networking for Home & Small Business.
The HyperText Transfer Protocol. History HTTP has been in use since 1990 (HTTP/0.9) HTTP/1.0 was defined in RFC 1945 (May 1996) and included metainformation.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.
Computer Networks Chapter 2: Applications and Layered Architectures.
Chapter 1 Communication Networks and Services Network Architecture and Services.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
1 CS 4396 Computer Networks Lab TCP/IP Networking An Example.
HyperText Transfer Protocol (HTTP) RICHI GUPTA CISC 856: TCP/IP and Upper Layer Protocols Fall 2007 Thanks to Dr. Amer, UDEL for some of the slides used.
HTTP1 Hypertext Transfer Protocol (HTTP) After this lecture, you should be able to:  Know how Web Browsers and Web Servers communicate via HTTP Protocol.
Omar A. Abouabdalla Network Research Group (USM) SIP – Functionality and Structure of the Protocol SIP – Functionality and Structure of the Protocol By.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
HTTP Protocol Design1 HTTP - timeline r Mar 1990 CERN labs document proposing Web r Jan 1992 HTTP/0.9 specification r Dec 1992 Proposal to add MIME to.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
HTTP Here, we examine the hypertext transfer protocol (http) – originally introduced around 1990 but not standardized until 1997 (version 1.0) – protocol.
CSE5803 Advanced Internet Protocols and Applications (14) Introduction Developed in recent years, for low cost phone calls (long distance in particular).
EE 122: Lecture 21 (HyperText Transfer Protocol - HTTP) Ion Stoica Nov 20, 2001 (*)
Overview of Servlets and JSP
HyperText Transfer Protocol (HTTP) Deepti Kulkarni CISC 856: TCP/IP and Upper Layer Protocols Fall 2008 Acknowledgements Professor Amer Richi Gupta.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 23 – Internet Applications Internet Directory.
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.
COMPUTER NETWORKS Hwajung Lee. Image Source:
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
Communication Networks NETW 501 Tutorial 2
Network Architecture IS250 Spring 2010 John Chuang
UDP: User Datagram Protocol. What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host – treats a computer as an.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
IP Telephony (VoIP).
OSI Protocol Stack Given the post man exemple.
VOICE AND VIDEO OVER IP VOIP, RTP, RSVP.
Networking for Home and Small Businesses – Chapter 6
Networking for Home and Small Businesses – Chapter 6
Multimedia and Networks
Process-to-Process Delivery:
Networking for Home and Small Businesses – Chapter 6
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

Application Layer Socket API, HTTP, VoIP, DNS IS250 Spring 2010 John Chuang

2 Application Layer & Socket API Appl Trans port Net work Link Net work Link Net work Link Appl Trans port Net work Link Host AHost BRouter 1Router 2 end-to-end point-to-point end-to-end Software Operating System Hardware Socket API

John Chuang3 Socket  Socket: an API (application programming interface) that allows the abstraction of the underlying network (i.e., layers 4 and lower)  Sockets support send and receive methods  Sockets identified by  Two common types of sockets: -Stream socket (supported by TCP) -Datagram socket (supported by UDP)  Read: Comer

John Chuang4 Network Layers  Application (layer 7): specific to application need  Transport (layer 4): end-to-end delivery, congestion and flow control  Network (layer 3): addressing, routing  Data Link (layer 2): framing, error detection  Physical (layer 1): bits (0/1), voltages, frequencies, wires, pins, … IP TCP, UDP HTTP, FTP, NNTP, SMTP, telnet,... coax, twisted pair, fiber, wireless,... Ethernet FDDI, SONET Wi-Fi

John Chuang5 Representation v. Transfer  Application layer protocols specify two aspects of interaction: -Data representation: Syntax of data items that are exchanged, e.g., HTML -Data transfer: Interaction between client and server, e.g., HTTP

John Chuang6 L7 Alphabet Soup  Applications: -HTTP (Comer ) -FTP (Comer 4.11) - , SMTP (Comer ) -telnet, SSH -RTP, SIP (Comer 29) -…  Network support: -DNS (Comer ) -BGP, RIP, OSPF (Comer 27) -…

John Chuang7 Hypertext Transfer Protocol  HTTP specification (RFC 2616): -  HTTP uses TCP  Two types of HTTP messages -HTTP Request -HTTP Response Client Server HTTP Request HTTP Response

John Chuang8 HTTP Request Format Request line [ : ] … [Message body] Request header Entity body Note: = carriage-return-line-feed optional fields in [] General header Entity header Blank line

John Chuang9 HTTP Header Fields  HTTP Methods -GET -POST -HEAD -OPTIONS -PUT -DELETE -TRACE -CONNECT  General Header Fields -Cache-Control -Connection -Date -Pragma -Trailer -Transfer-Encoding -Upgrade -Via -Warning  Request Headers -Accept -Accept-Charset -Accept-Encoding -Accept-Language -Authorization -Cookie -Expect -From -Host * -If-Match If-Modified-Since -If-None-Match -If-Range -If-Unmodified-Since -Max-Forwards -Proxy-Authorization -Range -Referrer -TE -User-Agent * Mandatory in HTTP/1.1  Entity Headers -Allow -Content-Encoding -Content-Language -Content-Length -Content-Location -Content-MD5 -Content-Range -Content-Type -Expires -Last-Modified

John Chuang10 HTTP Request: Example Request line GET /index.html HTTP/1.1 Host: Blank line Request header HTTP message TCP header IP header Ethernet header Ethernet frame port TCP IP IP datagram/packet TCP segment HTTP message Adapted from Coulouris, Dollimore and Kindberg

John Chuang11 HTTP Response  Response Header Fields -Accept-Ranges -Age -Etag -Location -Proxy-Authenticate -Retry-After -Server -Set-Cookie -Vary -WWW-Authenticate  Status Codes -1xx: Informational -2xx: Success -3xx: Redirection -4xx: Client error -5xx: Server error  Some common codes: -200 OK -401 Unauthorized -404 Not Found Status line [ : ] … [Message body] Response header Entity body General header Entity header Blank line Note: = carriage-return-line-feed optional fields in []

John Chuang12 HTTP Response: Example Status line Response header Entity body General header Entity header Blank line HTTP/ OK Date: Mon, 12 Nov :14:04 GMT Server: Apache/ (Red Hat) X-Powered-By: PHP/4.3.9 Set-Cookie: PHPSESSID=f49e0b5ec; expires=Wed, 05-Dec :47:24 GMT; path=/ Last-Modified: Mon, 12 Nov :14:04 GMT Cache-Control: no-store, no-cache, must-revalidate Cache-Control: post-check=0, pre-check=0 Pragma: no-cache Transfer-Encoding: chunked Content-Type: text/html; charset=utf-8 …

John Chuang13 HTTP/1.1 and Persistent TCP Connections  An HTML object often has other embedded objects (e.g., images)  HTTP/1.0 requires a new TCP session for each object -Overhead of session establishment  HTTP/1.1 permits reuse of one TCP session for multiple requests -Use “Connection: Keep-Alive” header

John Chuang14 L7 Alphabet Soup  Applications: -HTTP (Comer ) -FTP (Comer 4.11) - , SMTP (Comer ) -telnet, SSH -RTP, SIP (Comer 29) -…  Network support: -DNS (Comer ) -BGP, RIP, OSPF (Comer 27) -…

John Chuang15 Real-Time Multimedia  How to support real-time multimedia applications (e.g., video, audio) over a best- effort IP network? -Packets may be delivered out of order or lost -Retransmission is too slow to be helpful  Technique: delayed playback using timestamps and jitter buffer Source: Douglas Comer

John Chuang16 Real-Time Transport Protocol (RTP)  Protocol for transport of real-time multi- media data -Sequence number and timestamp in RTP header Source: Douglas Comer

John Chuang17 Real-Time Transport Protocol (RTP)  RTP messages encapsulated in UDP datagrams -Why not TCP? Source: Douglas Comer

John Chuang18 RTP Companion Protocols  RTCP: Real-time Transport Control Protocol -Control packets sent periodically to report quality such as loss rate and jitter  RTSP: Real-time Transport Streaming Protocol -Used by streaming media players to provide remote control like capabilities (e.g., play, stop, fast forward)

John Chuang19 IP Telephony (VoIP)  Companies around the world are replacing traditional telephone switches with IP routers -Routers cost much less than traditional telephone switches -Sending both data and voice as IP packets lowers cost because underlying infrastructure is shared  The basic idea behind IP telephony: -continuously sample audio, convert to digital (PCM) -send digitized stream across IP network (RTP) -convert stream back to analog for playback  Complications arise in signaling and backward compatibility with PSTN

John Chuang20 IP Telephony (VoIP)  IP telephone  Media gateway controller  Media gateway  Signaling gateway Source: Douglas Comer

John Chuang21 VoIP Protocols  RTP for user multimedia data  Multiple protocols for signaling: -SIP: Session Initiation Protocol [RFC 2543] (IETF) -H.323 (ITU) -ENUM: converts telephone number to URI; facilitates DNS lookup Source: Douglas Comer

John Chuang22 Example SIP Session Source: Douglas Comer

John Chuang23 L7 Alphabet Soup  Applications: -HTTP (Comer ) -FTP (Comer 4.11) - , SMTP (Comer ) -telnet, SSH -RTP, SIP (Comer 29) -…  Network support: -DNS (Comer ) -BGP, RIP, OSPF (Comer 27) -…

John Chuang24 Domain Name Service (DNS)  Routers and end-hosts use IP addresses -e.g.,  Human beings remember hostnames -e.g., ischool.berkeley.edu  Need translation service!  Client sends query message (hostname) to domain name server using UDP  Name server sends response message (with resolved IP address) back to client

John Chuang25 Local Name Server (ns1.berkeley.edu) Server ( Client (client.ischool.berkeley.edu) DNS Query (1) (2) (3)

John Chuang26 Local Name Server (ns1.berkeley.edu) Server ( DNS Query (1) (2) Remote Name Server (ns.publisher.com) Root Name Server (f.root-servers.net) (3) (4) (5) (6) (7) Client (client.ischool.berkeley.edu)

John Chuang27 Hostnames: [a-m].root-servers.net Source:

John Chuang28 Next Time: Overlays  Build your own networks at the application layer