Upload
abel
View
46
Download
6
Tags:
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
11
Application Layer: functionality and Protocols
Laurent Babout, PhD, DSc
Based on Cisco material
22
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).
33
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
44
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.
55
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.
66
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
77
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
88
The Role of Protocols in Supporting Communication #2
• The client-server model
99
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.
1010
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
1111
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
1212
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)
1313
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
1414
DNS #2
• Use nslookup to identify IP of DNS
1515
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)
1616
DNS #4
• Ipconfig/displaydns
5≡ alias (type CNAME)
1≡ end device address (type A)
17
• Over 350 millions urls nowadays, 4.5 million/month • Hierarchical organization
– Root server– Top-level domain servers (TLD)– Secondary level domain servers
17
DNS #5
5 unrestricted TLDs291 country codes
1818
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
http://www.kis.p.lodz.pl
19
HTTP #2• You can use web-sniffer.net to view http
request/response and html source code
20
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.
2121
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)
22
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
23
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)
24
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)
25
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
2626
Telnet #1• Remote access to server via virtual terminal
(VTY)• One of the oldest Application layer protocols
and services in the TCP/IP suite
27
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)