1 applications computer networks. 2 where are we?

46
1 Applications Computer Networks

Upload: morgan-boyd

Post on 30-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

1

Applications

Computer Networks

2

Where are we?

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.

4

Separation of Duties

NetworkTransfer bits/bytesOperates at the application’s request

ApplicationsWhat data to transmitWhen to transmit dataWhere to transmit data toMeaning of bits/bytes

5

Client/Server

6

Characteristics

ClientActively initiates contacts with serverUses different source port for each

connection

ServerPassively awaits connections from clientsUses the same source port for all clients

7

Use of Protocol Ports

Each service given unique port number, P

ServerInform Operating System it is using port PWaits for requests to arrive

ClientForms requestSends request to port P on server computer

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.

9

Recall: Application Multiplexing

10

Example: IP address and TCP port pairs

11

Interacting with Protocol Software

Client or server uses transport protocols

Protocol software resides in OSApplications outside the OSMechanism to bridge the two

Application Programming Interface (API)

The book: TCP/IP Illustrated, Volume 2 - Stevens

12

Application Programming Interface

Part of the operating systemPermits applications to use protocolsDefines

Operations allowedArguments for each operation

13

Example API: Sockets

Originally designedfor BSD UNIXTo use with TCP/IP protocols

Nowindustry standardavailable on many operating systems

e.g. winsock

14

Sample Socket Procedure

15

Example Application: DNS

Internet communication requires IP addressesHumans prefer to use computer namesAutomated system available to translate

names to addressesKnown as Domain Name System (DNS)Base specs in RFC 1034 and RFC 1035

The book: DNS and Bind - Albitz and Liu

16

DNS Functionality

GivenName of a computer

ReturnComputer’s internet (IP) address

MethodDistributed lookupClient contact server(s) as necessary

17

Domain Name Syntax

Alphanumeric segments separated by dots

Examples:www.depaul.eduaharp.is-net.depaul.eduwww.research.att.com

Most significant part on the right

18

Obtaining a Domain Name

OrganizationChooses a desired nameMust be uniqueRegisters with central authorityPlaced under one top-level domain

Names subject to international lawTrademarksCopyright

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 organizationcountry code A country (e.g. .uk or .tw)

20

Example Name Structure

First level is .comSecond level is company nameThird level is division within a

companyFourth level either

company subdivisionindividual computer

21

DNS Illustrated

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.

23

DNS Client/Server Interaction

Client known as resolverMultiple DNS servers usedArranged in a hierarchyEach server corresponds to contiguous

part of naming hierarchy

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.

25

DNS Hierarchy Illustrated

26

DNS Record Types

Stored with each nameResolver must specify the type in

lookup requestType A (address): IP address for nameType MX (mail exchanger): IP address of mail server for

the nameType CNAME (Computer Name): alias to another name

27

Example Application: Internet Email

Email addresstext string which specifies destination mailboxe.g. [email protected], [email protected]

Mail message formatheader

identifies sender, receiver, contentsformat is keyword: information

blank linebody

28

MIME

Original email restricted to ASCII textUsers desire to send

image filesaudio clipscompiled (binary) programs

SolutionMulti-purpose Internet Mail Exchange (MIME)Defined in RFC 1521 and RFC 1522

29

MIME [continued]

Allows transmission ofbinary datamultimedia files (video/audio clips)multiple types in a single messagemixed formats

Backward compatible

30

MIME Encoding

Senderinserts additional header linesencodes binary data in (printable) ASCII

Sent like standard messageReceiver

interprets header linesExtracts and decodes parts

Separate standards for content and encoding

31

MIME Example

Header lines addedMIME-Version: 1.0Content-Type: Multipart/Mixed; Boundary=xxxsep

SpecifiesUsing MIME version 1.0Line xxxsep appears before each

message part

32

Simple Mail Transfer Protocol (SMTP)

Runs on top of TCPUsed between

Mail transfer program on sender’s computerMail server on recipient’s computer

Specifies howClient interacts with serverRecipients specifiedMessage is transferred

Defined in RFC 821

33

Mail Transfer Illustrated

34

Computers Without Mail Servers (SMTP)

Typicallysmall, personal computernot continuously connected to the network

To receive email, user mustestablish mailbox on large computer (server)access mailbox as necessary

Post Office Protocol (POP) often useddefined in RFC 1939

35

POP Illustrated

36

Example Application: Remote Login w/ TELNET

Provides interactive access to computer from a remote site

Text-oriented interfaceUser

invokes clientspecifies remote computer

Clientforms TCP connection to serverpasses keystrokes over connectiondisplays output on screen

Defined in RFC 854

37

Example Application: File Transfer Protocol (FTP)

Complete file copyUses TCPSupports binary or text file transfersLarge set of commandsUntil 1995, it was the major source of

packets on the InternetDefined in RFC 959

38

FTP Illustrated

39

Example Application: World Wide Web (WWW)

Web pagescan contain text, images, imbedded

objects and linksstandard authoring format is HTMLlinks use URL tagstransferred using HTTP

See http://www.w3c.org for all the details

40

HyperText Markup Language

Document is free-formatEmbedded tags give display formatTags (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>

41

Uniform Resource Locator (URL)

Symbolic representationEmbedded in HTML documentBrowser

hides text of link from userassociates link with item on pagemakes items selectable

42

URLs Illustrated

43

HyperText Transfer Protocol (HTTP)

Web server makes web pages availableServer uses port 80 by defaultWeb client (browser) requests pagesCreates a TCP connection to serverHTTP sits on top of TCPHTTP v1.1 defined in RFC 2068

major enhancement over v1.0: single TCP connection for multiple HTTP requests

44

Browser Operation

45

File Sharing and Peer to Peer

Becoming a killer appe.g. Napster

Besides the copyright issuesDramatic change in traffic patternsLots of traffic engineering trying to be

doneYou haven't seen anything yet

46

How to hide your app

TunnelingPort hoppingEncryptionChunking

Conclusion: Network traffic will conform to the rules of the network administrator, but the data will not change!