Autumn 2000 John Kristoff 1 Applications Computer Networks
Dec 22, 2015
Autumn 2000 John Kristoff 3
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.
Autumn 2000 John Kristoff 4
Separation of Duties
Network Transfer bits/bytes Operates at the applications request
Applications What data to transmit When to transmit data Where to transmit data to Meaning of bits/bytes
Autumn 2000 John Kristoff 6
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
Autumn 2000 John Kristoff 7
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
Autumn 2000 John Kristoff 8
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.
Autumn 2000 John Kristoff 11
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
Autumn 2000 John Kristoff 12
Application Programming Interface
Part of the operating system Permits applications to use protocols Defines
Operations allowed Arguments for each operation
Autumn 2000 John Kristoff 13
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
Autumn 2000 John Kristoff 15
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
Autumn 2000 John Kristoff 16
DNS Functionality
Given Name of a computer
Return Computers internet (IP) address
Method Distributed lookup Client contact server(s) as necessary
Autumn 2000 John Kristoff 17
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
Autumn 2000 John Kristoff 18
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
Autumn 2000 John Kristoff 19
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)
Autumn 2000 John Kristoff 20
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
Autumn 2000 John Kristoff 22
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.
Autumn 2000 John Kristoff 23
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
Autumn 2000 John Kristoff 24
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.
Autumn 2000 John Kristoff 26
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
Autumn 2000 John Kristoff 27
Example Application: Internet Email
Email address text string which specifies destination mailbox e.g. [email protected], [email protected]
net.depaul.edu
Mail message format header
identifies sender, receiver, contents format is keyword: information
blank line body
Autumn 2000 John Kristoff 28
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
Autumn 2000 John Kristoff 29
MIME [continued]
Allows transmission of binary data multimedia files (video/audio clips) multiple types in a single message mixed formats
Backward compatible
Autumn 2000 John Kristoff 30
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
Autumn 2000 John Kristoff 31
MIME Example
Header lines addedMIME-Version: 1.0
Content-Type: Multipart/Mixed; Boundary=xxxsep
Specifies Using MIME version 1.0 Line xxxsep appears before each
message part
Autumn 2000 John Kristoff 32
Simple Mail Transfer Protocol (SMTP)
Runs on top of TCP Used between
Mail transfer program on senders computer Mail server on recipients computer
Specifies how Client interacts with server Recipients specified Message is transferred
Defined in RFC 821
Autumn 2000 John Kristoff 34
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
Autumn 2000 John Kristoff 36
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
Autumn 2000 John Kristoff 37
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
Autumn 2000 John Kristoff 39
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
Autumn 2000 John Kristoff 40
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>
Autumn 2000 John Kristoff 41
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
Autumn 2000 John Kristoff 43
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
Autumn 2000 John Kristoff 45
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