Top Banner
Autumn 2000 John Kristoff 1 Applications Computer Networks
46

Autumn 2000John Kristoff1 Applications Computer Networks.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 1

Applications

Computer Networks

Page 2: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 2

Where are we?

Page 3: Autumn 2000John Kristoff1 Applications Computer Networks.

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.

Page 4: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 5: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 5

Client/Server

Page 6: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 7: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 8: Autumn 2000John Kristoff1 Applications Computer Networks.

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.

Page 9: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 9

Recall: Application Multiplexing

Page 10: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 10

Example: IP address and TCP port pairs

Page 11: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 12: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 13: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 14: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 14

Sample Socket Procedure

Page 15: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 16: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 17: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 18: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 19: Autumn 2000John Kristoff1 Applications Computer Networks.

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)

Page 20: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 21: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 21

DNS Illustrated

Page 22: Autumn 2000John Kristoff1 Applications Computer Networks.

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.

Page 23: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 24: Autumn 2000John Kristoff1 Applications Computer Networks.

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.

Page 25: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 25

DNS Hierarchy Illustrated

Page 26: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 27: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 28: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 29: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 30: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 31: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 32: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 33: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 33

Mail Transfer Illustrated

Page 34: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 35: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 35

POP Illustrated

Page 36: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 37: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 38: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 38

FTP Illustrated

Page 39: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 40: Autumn 2000John Kristoff1 Applications Computer Networks.

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>

Page 41: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 42: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 42

URLs Illustrated

Page 43: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 44: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 44

Browser Operation

Page 45: Autumn 2000John Kristoff1 Applications Computer Networks.

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

Page 46: Autumn 2000John Kristoff1 Applications Computer Networks.

Autumn 2000 John Kristoff 46

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!