Module 7 - The Application Layer PDF
Document Details
Uploaded by TransparentAzalea
SAMCIS
Tags
Summary
This document provides an overview of the application layer in computer networking, covering topics such as DNS, email, and the World Wide Web. It discusses concepts, key protocols, and architectures in the context of the application layer within computer science.
Full Transcript
The Application Layer Module 7 IT & CS Departments - SAMCIS Short Term AY 2022 - 2023 Module 7 Topic Learning Outcomes De ne the main function of the Application Layer De ne popular applications and protocols used in the application layer fi fi The Application Layer layer...
The Application Layer Module 7 IT & CS Departments - SAMCIS Short Term AY 2022 - 2023 Module 7 Topic Learning Outcomes De ne the main function of the Application Layer De ne popular applications and protocols used in the application layer fi fi The Application Layer layer where all the applications are found layers below the application layer are there to provide transport services, but they do not do real work for users Even at the application layer there is a need for support protocols, to allow many applications to function Uses transport services to build distributed applications Key Topics / Outline of Discussion DNS – Domain Name System Electronic Mail The Web Streaming Audio and Video Content Delivery DNS – Domain Name System The DNS resolves high-level human readable names for computers to low- level IP addresses TOPICS to be discussed DNS name space Domain Resource records Name servers The DNS Name Space DNS namespace is hierarchical from the root down Di erent parts delegated to di erent organizations Can register under multiple top-level domains Absolute domain names always end in a period, relative domain names do not Relative names have to be interpreted in a context to uniquely determine their meaning ff ff The DNS Name Space The relationship between registries and registrars Getting a second-level domain, such as name- of-company.com, is easy. The top-level domains are operated by companies called registries. They are appointed by ICANN. For example, the registry for com is Verisign. One level down, registrars sell domain names directly to users. There are many of them and they com- pete on price and service. Common registrars include Domain.com, GoDaddy, and NameCheap The DNS Name Space The Generic top-level domains are controlled by ICANN who appoints registrars to run them ICANN = Internet Corporation for Assigned Names and Numbers To create a new domain, permission is required of the domain in which it will be included. Naming follows organizational boundaries, not physical networks. Domain Resource Records Every domain (all levels) has its own DNS database that is comprised of Resource Records. Each Resource Record is a 5 tuple: Domain_Name, TTL, Class, Type, Value The key resource records in the namespace are IP addresses (A/ AAAA) and name servers (NS), but there are others too (e.g., MX) Domain Resource Records Name Servers DNS name space divided into overlapping zones. Admins determine zone boundaries. Each zone has one or more name servers. Name servers contain data for portions of the name space called zones (circled). Name Servers Finding the IP address for a given hostname is called resolution and is done with the DNS protocol. Name Resolution: Computer requests 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 a name server can answer DNS protocol: Runs on UDP port 53, retransmits lost messages Caches name server answers for better performance Electronic Mail Key Topics: Architecture and services The user agent Message formats Message transfer Final delivery Architecture and Services Architecture and Services The User Agent a program (sometimes called an email reader) that accepts a variety of commands for composing, receiving, and replying to messages, as well as for manipulating mailboxes. Popular user agents examples: Google Gmail Microsoft Outlook Mozilla Thunderbird Apple Mail The User Agent What users see – interface elements of a typical user agent Message Formats Header elds related to message transport; headers are readable ASCII text fi Message Formats Other header elds useful for user agents fi Message Formats MIME header elds used to describe what content is in the body of the message fi Message Formats Common MIME content types and subtypes Message Formats Message Transfer Messages are transferred with SMTP (Simple Mail Transfer Protocol) Readable text commands Submission from user agent to MTA on port 587 One MTA to the next MTA on port 25 Other protocols for nal delivery (IMAP, POP3) fi Message Transfer Final Delivery POP3 User agent uses protocol like IMAP for nal delivery Has commands to manipulate folders / messages [right] Alternatively, a Web interface (with proprietary protocol) might be used Webmail fi Final Delivery via WEBMAIL popular alternative to IMAP and SMTP for providing email service is to use the Web as an interface for sending and receiving mail. Widely used Webmail systems include Google Gmail, Microsoft Hotmail and Yahoo! Mail. In this architecture, the provider runs mail servers as usual to accept messages for users with SMTP on port 25. the user agent is di erent. Instead of being a standalone program, it is a user interface that is provided via Web pages. This means that users can use any browser they like to access their mail and send new messages. Many of the items on the page showing the mailbox are clickable, so messages can be read, deleted, and so on. To make the interface responsive, the Web pages will often include JavaScript programs. These programs are run locally on the client in response to local events (e.g., mouse clicks) and can also download and upload messages in the background, to prepare the next message for display or a new message for submission ff The World Wide Web Key Topics: Architectural overview Static Web pages Dynamic pages and Web applications HTTP – HyperText Transfer Protocol The mobile Web Web search Architectural Overview HTTP transfers pages from servers to browsers Architectural Overview Architectural Overview Steps a client (browser) takes to follow a hyperlink: − Determine the protocol (HTTP) − 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 Steps a server takes to serve pages: − Accept a TCP connection from client − Get page request and map it to a resource (e.g., le name) − Get the resource (e.g., le from disk) − Send contents of the resource to the client. − Release idle TCP connections fi fi Architectural Overview Content type is identi ed by MIME(Multipurpose Internet Mail Extensions types) Browser takes the appropriate action to display Plug-ins / helper apps extend browser for new types fi Architectural Overview To scale performance, Web servers can use: Caching, multiple threads, and a front end Architectural Overview Server steps, revisited: Resolve name of Web page requested Perform access control on the Web page Check the cache Fetch requested page from disk or run program Determine the rest of the response Return the response to the client Make an entry in the server log Architectural Overview Static Web Pages Have the same contents for each viewing Can be visually rich and interactive Dynamic Web Pages Dynamic pages are generated by programs running at the server (with a database) and the client E.g., PHP at server, JavaScript at client Pages vary each time like using an application Dynamic Pages & Web Applications The di erence between server and client programs ff Dynamic Pages & Web Applications Web applications use a set of technologies Streaming Audio and Video for many people, audio and video are the holy grail of networking idea of sending audio and video over the Internet has been around since the 1970s at least, it is only since roughly 2000 that real-time audio and real-time video tra c has grown with a vengeance Two things happened to enable this growth. computers have became much more powerful and are equipped with microphones and cameras so that they can input, process, and output audio and video data with ease. a ood of Internet bandwidth has come to be available audio, video takes up a large amount of bandwidth Given that there is enough bandwidth to carry audio and video, the key issue for designing streaming and conferencing applications is network delay fl ffi Streaming Audio and Video Key Design Issues: Address DELAY Minimize data delivered using compression techniques Audio Compression Techniques: MP3 (MPEG audio layer 3) and AAC (Advanced Audio Coding) as carried in MP4 (MPEG-4) les Video Compression Techniques: MPEG-1, MPEG-2, and MPEG-4 fi Content Delivery Delivery of content, especially Web and video, to users is a major component of Internet tra c Content and Internet tra c Server farms and Web proxies Content delivery networks Peer-to-peer networks ffi ffi A Internet tra c: 1. Shifts seismically (email->FTP->Web->P2P->video) 2. Has many small/unpopular and few large/popular ows – mice and elephants ffi fl Server Farms and Web Proxies Server farms enable large-scale Web servers: Front-end load-balances requests over servers Servers access the same backend database Server Farms and Web Proxies Proxy caches help organizations to scale the Web Caches server content over clients for performance Also implements organization policies (e.g., access) CDNs – Content Delivery Networks CDNs scale Web servers by having clients get content from a nearby CDN node (cache) Content Delivery Networks Directing clients to nearby CDN 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 Content Delivery Networks Origin server rewrites pages to serve content via CDN Peer-to-Peer Networks P2P (Peer-to-Peer) is an alternative CDN architecture with no dedicated infrastructure (i.e., servers) Clients serve content to each other as peers Challenges when servers are removed: How do peers nd each other? How do peers support rapid content downloads? How do peers encourage each other to upload? fi Peer-to-Peer Networks BitTorrent lets peers download torrents Peers nd each other via Tracker in torrent le Peers swap chunks (parts of content) with partners, preferring those who send most quickly Many peers speed download; preference helps uploads fi fi Peer-to-Peer Networks Distributed Hash Tables (DHTs) are a fully distributed index that scales to very many clients/entries Need to follow O(log N) path for N entries Can use as Tracker to nd peers with no servers Look up torrent (identi er) in DHT to nd IP of peers Kademlia is used in BitTorrent fi fi fi Peer-to-Peer Networks A Chord ring of 32 identi ers. Finger tables [at right, and as arcs] are used to navigate the ring. Example: path to look up 16 from 1 is 1->12->15 fi End of Module 7 Some Reminders Quiz #2: July 21, 2023(Friday), 12PM-1:00PM @ D522 & D524 (7yh oor labs would be an alternative) Laboratory Quiz: July 21, 2023(Friday), 1PM-1:30PM Project Deadline: July 22, 2023(Saturday), on or before 5PM Final Examination: July 24/25 (wait for schedule) Project Presentation and Defense Draw lots on Friday after QUIZ July 26(Wednesday) or earlier (TIMESLOTS: 8-9am; 9:30-10:30am; 11-12pm; 1-2pm; 2:30-3:30pm and 4-5pm) ATTENDANCE is MANDATORY fl End of Semester / Term