Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Application Layer Socket API, HTTP, VoIP, DNS IS250 Spring 2010 John Chuang."— Presentation transcript:

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

2 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

3 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 3.13-3.23

4 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

5 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

6 John Chuang6 L7 Alphabet Soup  Applications: -HTTP (Comer 4.4-4.10) -FTP (Comer 4.11) -Email, SMTP (Comer 4.12-4.16) -telnet, SSH -RTP, SIP (Comer 29) -…  Network support: -DNS (Comer 4.17-4.25) -BGP, RIP, OSPF (Comer 27) -…

7 John Chuang7 Hypertext Transfer Protocol  HTTP specification (RFC 2616): -http://www.ietf.org/rfc/rfc2616.txthttp://www.ietf.org/rfc/rfc2616.txt  HTTP uses TCP  Two types of HTTP messages -HTTP Request -HTTP Response Client Server HTTP Request HTTP Response

8 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

9 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

10 John Chuang10 HTTP Request: Example Request line GET /index.html HTTP/1.1 Host: www.sims.berkeley.edu 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

11 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 []

12 John Chuang12 HTTP Response: Example Status line Response header Entity body General header Entity header Blank line HTTP/1.1 200 OK Date: Mon, 12 Nov 2007 20:14:04 GMT Server: Apache/2.0.52 (Red Hat) X-Powered-By: PHP/4.3.9 Set-Cookie: PHPSESSID=f49e0b5ec; expires=Wed, 05-Dec-2007 23:47:24 GMT; path=/ Last-Modified: Mon, 12 Nov 2007 20: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 …

13 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

14 John Chuang14 L7 Alphabet Soup  Applications: -HTTP (Comer 4.4-4.10) -FTP (Comer 4.11) -Email, SMTP (Comer 4.12-4.16) -telnet, SSH -RTP, SIP (Comer 29) -…  Network support: -DNS (Comer 4.17-4.25) -BGP, RIP, OSPF (Comer 27) -…

15 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

16 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

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

18 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)

19 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

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

21 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

22 John Chuang22 Example SIP Session Source: Douglas Comer

23 John Chuang23 L7 Alphabet Soup  Applications: -HTTP (Comer 4.4-4.10) -FTP (Comer 4.11) -Email, SMTP (Comer 4.12-4.16) -telnet, SSH -RTP, SIP (Comer 29) -…  Network support: -DNS (Comer 4.17-4.25) -BGP, RIP, OSPF (Comer 27) -…

24 John Chuang24 Domain Name Service (DNS)  Routers and end-hosts use IP addresses -e.g., 128.32.226.87  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

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

26 John Chuang26 Local Name Server (ns1.berkeley.edu) Server (www.publisher.com) 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)

27 John Chuang27 Hostnames: [a-m].root-servers.net Source: http://www.wia.org/pub/rootserv.html

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


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

Similar presentations


Ads by Google