Applications

Download Report

Transcript Applications

Applications
Computer Networks
1
Where are we?
2
Important Note
Although the ISO OSI Reference Model
defines a session and presentation layer,
they are often integrated into some other
layer in practice. In many cases they are
simply not used.
3
Separation of Duties
Network
Transfer bits/bytes
Operates at the application’s request
Applications
What data to transmit
When to transmit data
Where to transmit data to
Meaning of bits/bytes
4
Client/Server
5
Characteristics
Client
Actively initiates contacts with server
Uses different source port for each connection
Server
Passively awaits connections from clients
Uses the same source port for all clients
6
Use of Protocol Ports
Each service given unique port number, P
Server
Inform Operating System it is using port P
Waits for requests to arrive
Client
Forms request
Sends request to port P on server computer
7
Protocol Ports Key Idea
Each application is assigned a unique port
identifier. A server must specify the identifier
when it begins execution (application startup).
A client must specify the identifier when it
requests the network software to contact the
server. Protocol software on the server
computer uses the identifier to direct incoming
requests to the correct server application.
8
Recall: Application Multiplexing
9
Example: IP address and TCP
port pairs
10
Interacting with Protocol Software
Client or server uses transport protocols
Protocol software resides in OS
Applications outside the OS
Mechanism to bridge the two
Application Programming Interface (API)
The book: TCP/IP Illustrated, Volume 2 - Stevens
11
Application Programming
Interface
Part of the operating system
Permits applications to use protocols
Defines
Operations allowed
Arguments for each operation
12
Example API: Sockets
Originally designed
for BSD UNIX
To use with TCP/IP protocols
Now
industry standard
available on many operating systems
e.g. winsock
13
Sample Socket Procedure
14
Example Application: DNS
Internet communication requires IP addresses
Humans prefer to use computer names
Automated system available to translate names to
addresses
Known as Domain Name System (DNS)
Base specs in RFC 1034 and RFC 1035
The book: DNS and Bind - Albitz and Liu
15
DNS Functionality
Given
Name of a computer
Return
Computer’s internet (IP) address
Method
Distributed lookup
Client contact server(s) as necessary
16
Domain Name Syntax
Alphanumeric segments separated by dots
Examples:
www.depaul.edu
aharp.is-net.depaul.edu
www.research.att.com
Most significant part on the right
17
Obtaining a Domain Name
Organization
Chooses a desired name
Must be unique
Registers with central authority
Placed under one top-level domain
Names subject to international law
Trademarks
Copyright
18
Top-Level Domains
.com
commercial organization
.edu
educational institution
.gov
government organization
.mil
military group
.net
major network provider
.org
organization other than above
.arpa
temporary ARPA domain (still used)
.int
international organization
country code A country (e.g. .uk or .tw)
19
Example Name Structure
First level is .com
Second level is company name
Third level is division within a company
Fourth level either
company subdivision
individual computer
20
DNS Illustrated
21
Key Concept
The number of segments in a domain name
corresponds to the naming hierarchy. There is
no universal standard for this hierarchy; each
organization can choose its own naming
convention. Furthermore, names within an
organization do not need to follow a uniform
pattern; individual groups within the
organization can choose a hierarchical structure
that is appropriate for that group.
22
DNS Client/Server Interaction
Client known as resolver
Multiple DNS servers used
Arranged in a hierarchy
Each server corresponds to contiguous part
of naming hierarchy
23
Inter-Server Links
All domain name servers are linked together
to form a unified system. Each server
knows how to reach a root server and
how to reach servers that are authorities
for names further down the hierarchy.
24
DNS Hierarchy Illustrated
25
DNS Record Types
Stored with each name
Resolver must specify the type in lookup
request
Type A (address): IP address for name
Type MX (mail exchanger): IP address of mail server for the name
Type CNAME (Computer Name): alias to another name
26
Example Application: Internet
Email
Email address
text string which specifies destination mailbox
e.g. [email protected], [email protected]
Mail message format
header
identifies sender, receiver, contents
format is keyword: information
blank line
body
27
MIME
Original email restricted to ASCII text
Users desire to send
image files
audio clips
compiled (binary) programs
Solution
Multi-purpose Internet Mail Exchange (MIME)
Defined in RFC 1521 and RFC 1522
28
MIME [continued]
Allows transmission of
binary data
multimedia files (video/audio clips)
multiple types in a single message
mixed formats
Backward compatible
29
MIME Encoding
Sender
inserts additional header lines
encodes binary data in (printable) ASCII
Sent like standard message
Receiver
interprets header lines
Extracts and decodes parts
Separate standards for content and encoding
30
MIME Example
Header lines added
MIME-Version: 1.0
Content-Type: Multipart/Mixed; Boundary=xxxsep
Specifies
Using MIME version 1.0
Line xxxsep appears before each message part
31
Simple Mail Transfer Protocol
(SMTP)
Runs on top of TCP
Used between
Mail transfer program on sender’s computer
Mail server on recipient’s computer
Specifies how
Client interacts with server
Recipients specified
Message is transferred
Defined in RFC 821
32
Mail Transfer Illustrated
33
Computers Without Mail Servers
(SMTP)
Typically
small, personal computer
not continuously connected to the network
To receive email, user must
establish mailbox on large computer (server)
access mailbox as necessary
Post Office Protocol (POP) often used
defined in RFC 1939
34
POP Illustrated
35
Example Application: Remote
Login w/ TELNET
Provides interactive access to computer from a remote site
Text-oriented interface
User
invokes client
specifies remote computer
Client
forms TCP connection to server
passes keystrokes over connection
displays output on screen
Defined in RFC 854
36
Example Application: File
Transfer Protocol (FTP)
Complete file copy
Uses TCP
Supports binary or text file transfers
Large set of commands
Until 1995, it was the major source of
packets on the Internet
Defined in RFC 959
37
FTP Illustrated
38
Example Application: World Wide
Web (WWW)
Web pages
can contain text, images, imbedded objects and
links
standard authoring format is HTML
links use URL tags
transferred using HTTP
See http://www.w3c.org for all the details
39
HyperText Markup Language
Document is free-format
Embedded tags give display format
Tags (often appear in pairs)
Paragraph <P> and </P>
Line break <BR>
Headings <H1>, <H2>
<IMG src="jtk.jpg”border="0”>
<A href="http://www.depaul.edu”>DePaul</A>
40
Uniform Resource Locator (URL)
Symbolic representation
Embedded in HTML document
Browser
hides text of link from user
associates link with item on page
makes items selectable
41
URLs Illustrated
42
HyperText Transfer Protocol
(HTTP)
Web server makes web pages available
Server uses port 80 by default
Web client (browser) requests pages
Creates a TCP connection to server
HTTP sits on top of TCP
HTTP v1.1 defined in RFC 2068
major enhancement over v1.0: single TCP connection for multiple
HTTP requests
43
Browser Operation
44
File Sharing and Peer to Peer
Becoming a killer app
e.g. Napster
Besides the copyright issues
Dramatic change in traffic patterns
Lots of traffic engineering trying to be done
You haven't seen anything yet
45
How to hide your app
Tunneling
Port hopping
Encryption
Chunking
Conclusion: Network traffic will conform to
the rules of the network administrator, but
the data will not change!
46