Autumn 2000John Kristoff1 Applications Computer Networks.

Post on 22-Dec-2015

216 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

Autumn 2000 John Kristoff 1

Applications

Computer Networks

Autumn 2000 John Kristoff 2

Where are we?

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 5

Client/Server

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 9

Recall: Application Multiplexing

Autumn 2000 John Kristoff 10

Example: IP address and TCP port pairs

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 14

Sample Socket Procedure

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 21

DNS Illustrated

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 25

DNS Hierarchy Illustrated

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. jtk@depaul.edu, jtk@aharp.is-

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 33

Mail Transfer Illustrated

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 35

POP Illustrated

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 38

FTP Illustrated

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 42

URLs Illustrated

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 44

Browser Operation

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

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!

top related