280 likes | 465 Views
Application Layer: functionality and Protocols. Laurent Babout, PhD, DSc. Based on Cisco material. 1. Objectives of lecture. Define the application layer as the source and destination of data for communication across networks.
E N D
Application Layer: functionality and Protocols Laurent Babout, PhD, DSc Based on Cisco material 1
Objectives of lecture • Define the application layer as the source and destination of data for communication across networks. • Explain the role of protocols in supporting communication between server and client processes. • Presentation of the features, operation, and use of well-known TCP/IP application layer services (HTTP, DNS, SMTP). 2
Applications – The Interface Between Human and Data Networks #1 • Applications provide the means for generating and receiving data that can be transported on the network 3
Applications – The Interface Between Human and Data Networks #2 • Layer 7: application layer • Interface application / network • Application layer protocols used to exchange data between programs running on the source and destination hosts. 4
Applications – The Interface Between Human and Data Networks #3 • Layer 6: presentation layer • Coding and conversion of Application layer data. • Compression/decompression of the data. • Encryption/decryption of the data. • Layer 5: session layer • create and maintain dialogs between source and .destination applications. • Most applications, like web browsers or e-mail clients, incorporate functionality of the OSI layers 5, 6 and 7. 5
Applications – The Interface Between Human and Data Networks #4 • TCP/IP application protocols: • Specify format • Control information necessary for many of the common Internet communication functions • Common protocols: DNS, HTTP, SMTP, FTP, telnet 6
The Role of Protocols in Supporting Communication #1 • Protocols at layer 7 used for: • Defining processes at either end of the communication • Defining the types of messages • Defining the syntax of messages • Defining the meaning of any informational fields • Defining how message are sent and the expected response • Defining interaction with the next lower layer 7
The Role of Protocols in Supporting Communication #2 • The client-server model 8
The Role of Protocols in Supporting Communication #3 • Server processes may support multiple client: • The Application layer processes and services rely on support from lower layer functions to successfully manage the multiple conversations. 9
The Role of Protocols in Supporting Communication #4 • The peer-to-peer (P2P) model • P2P network • P2P application • P2P network • two or more computers are connected via a network and can share resources (such as printers and files) without having a dedicated server • Every connected end device (known as a peer) can function as either a server or a client. • Resource decentralization 10
The Role of Protocols in Supporting Communication #5 • P2P application: • Each end device is a client and a server • Application should provide user interface and background service • Hybrid system possible • Index server to get location of resource stored on another peer • Once P2P connection, no communication with index server 11
Features, Operation, and Use of TCP/IP Application Layer Services • Most common layer 7 applications protocols • DNS • HTTP • SMTP/POP • FTP • DSCP • Telnet • … • Most TCP/IP protocols defined in RFCs (Request For Comments) of the IETF (Internet Engineering Task Force) 12
DNS #1 • Domain Name Service (DNS) and protocol • Match domain name with IP address • Stored on distributed set of DNS servers • Protocol (defined in RFC1035): • Use a single format called a message • Message format used for client queries, server response, message error and transfer of resource record info between servers 13
DNS #2 • Use nslookup to identify IP of DNS 14
DNS #3 • DNS servers store different types of resource record: • A: and end device (IP) address • NS: an authoritative name server • CNAME: the canonical name (or fully qualified name) for an alias • MX - mail exchange record; maps a domain name to a list of mail exchange servers for that domain • Use ipconfig/displaydns to display some resource records stored in Microsoft memory cache (DNS client service) 15
DNS #4 • Ipconfig/displaydns 5≡ alias (type CNAME) 1≡ end device address (type A) 16
DNS #5 • Over 350 millions urls nowadays, 4.5 million/month • Hierarchical organization • Root server • Top-level domain servers (TLD) • Secondary level domain servers 5 unrestricted TLDs 291 country codes 17
http://www.kis.p.lodz.pl HTTP #1 • HTTP: HyperText Transfer Protocol (defined in RFC2616) • Web browser application: • Check 3 parts of address (i.e. http://www.kis.p.lodz.pl/index.html) • Check server name to convert kis.p.lodz.pl into numeric address • Send GET request to the server and asks for the file index.html • Deciphers the HTML code sent by the server and formats the page 18
HTTP #2 • You can use web-sniffer.net to view http request/response and html source code
HTTP #3 • HTTP Specifies message types for request/response • Three common message types: • GET: request pages from web server • POST: includes data in the message sent to server • PUT: upload resources and content to the web server • HTTP not secure. Instead HTTPS which use encryption and authentification. HTPPS specifies additional rules for passing data between the Application Layer to the Transport Layer.
SMTP/POP #1 • Vocabulary: • POP: Post Office Protocol • SMTP: Simple Mail Transfer Protocol • MUA: Mail User Agent (You when you send/rec an Email) • MTA: Mail Transfer Agent (server receiving or forwarding emails) • MDA: Mail Delivery Agent (server delivering Email to client) 21
SMTP/POP #2 • POP: typically client/server protocol • SMTP: client/server, server/server protocol • Some commands specified in SMTP protocol (defined in RFC2821): • HELO - identifies the SMTP client process to the SMTP server process • EHLO - Is a newer version of HELO, which includes services extensions • MAIL FROM - Identifies the sender • RCPT TO - Identifies the recipient • DATA - Identifies the body of the message
FTP • File Transfer Protocol (defined in RFC959) • A 2-connection step for file transfer between client and server • 1st connection (port 21): control traffic (client command and server replies) • 2nd connection (port 20): data traffic (created every time a file is transferred) • Download/upload • Secure FTP: FTPS / SFTP (SSH)
DHCP #1 • DHCP: Dynamic Host Configuration Protocol • Service • Allow device on network to obtain IP address and other information from a server • Automatic assignment from “pool” of addresses: • IP address, • Subnet • Gateway • … • Address leased for a given period of time • If client system down, address sent back to the “pool” • Home network, DHCP server located at the ISP (Internet Service Provider)
DHCP #2 • DSCP protocol • Discover: client broadcast packet to identify any available DSCP server • Reply from DSCP server with DSCP offer (lease offer of IP, subnet, gateway, DNS server, duration of the lease) • Request: broadcast packet to identify the explicit server • Server sends ACK to acknowledge the lease finalization • See DSCP offer using ipconfig /all
Telnet #1 • Remote access to server via virtual terminal (VTY) • One of the oldest Application layer protocols and services in the TCP/IP suite 26
Telnet #2 • Telnet protocol specifies how a VTY session is established and terminated+control commands • Defined in the RFC854 in 1983 (IETF) • Telnet command made of at least 2 bytes • 1st byte: IAC - Interpret As Command (decimal value: 255) • 2nd byte can be: • AYT – Are You There (246) • EL – Erase Line (248) • IP – Interrupt Process (244) • Telnet clients: PuTTy, TeraTerm… • Secured version: SSH (authentification, encryption)