Part I: Introduction

Download Report

Transcript Part I: Introduction

Internet History

1961-1972: Early packet-switching principles

    1961: Kleinrock - queueing theory shows effectiveness of packet switching 1964: Baran - packet switching in military nets 1967: ARPAnet conceived by Advanced Reearch Projects Agency 1969: first ARPAnet node operational  1972:  ARPAnet demonstrated publicly  NCP (Network Control Protocol) first host host protocol   first e-mail program ARPAnet has 15 nodes 1: Introduction 1

Internet History

1972-1980: Internetworking, new and proprietary nets

      1970: ALOHAnet satellite network in Hawaii 1973: Metcalfe’s PhD thesis proposes Ethernet 1974: Cerf and Kahn architecture for interconnecting networks late70’s: architectures: DECnet, SNA, XNA proprietary late 70’s: length packets (ATM precursor) switching fixed 1979: ARPAnet has 200 nodes Cerf and Kahn’s internetworking principles:  minimalism, autonomy no internal changes required to interconnect networks  best effort service model  stateless routers  decentralized control define today’s Internet architecture 1: Introduction 2

Internet History

1980-1990: new protocols, a proliferation of networks

     1983: deployment of TCP/IP 1982: smtp e-mail protocol defined 1983: DNS defined for name-to-IP address translation 1985: ftp protocol defined 1988: TCP congestion control   new national networks: Csnet, BITnet, NSFnet, Minitel 100,000 hosts connected to confederation of networks 1: Introduction 3

Internet History

1990’s: commercialization, the WWW

   Early 1990’s: ARPAnet decomissioned 1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995) early 1990s:  WWW hypertext [Bush 1945, Nelson 1960’s]    HTML, http: Berners-Lee 1994: Mosaic, later Netscape late 1990’s: commercialization WWW of the Late 1990’s:  est. 50 million computers on Internet   est. 100 million+ users backbone links runnning at 1 Gbps 1: Introduction 4

ATM: Asynchronous Transfer Mode nets

Internet:  today’s de facto standard for global data networking 1980’s:  telco’s develop ATM: competing network standard for carrying high-speed voice/data  standards bodies:   ATM Forum ITU ATM principles:  small (48 byte payload, 5 byte header) fixed length cells (like packets)   fast switching small size good for voice   virtual-circuit network: switches maintain state for each “call” well-defined interface between “network” and “user” (think of telephone company) 1: Introduction 5

ATM layers

   ATM Adaptation Layer (AAL): interface to upper layers   end-system segmentation/rea ssembly ATM Layer: switching Physical cell application TCP/UDP IP AAL ATM physical application TCP/UDP IP AAL ATM physical Where’s the application?

 ATM: lower layer   functionality only IP-over ATM: later application TCP/UDP IP AAL ATM physical ATM physical application TCP/UDP IP AAL ATM physical 1: Introduction 6

Summary on Introduction

Covered a “ton” of material!

   Internet overview what’s a protocol?

network edge, core, access network      performance: loss, delay layering and service models backbones, NAPs, ISPs history ATM network You now hopefully have:  context, overview, “feel” of networking  more depth, detail later in course 1: Introduction 7

Application Layer

Goals:   conceptual + implementation aspects of network application protocols  client server paradigm  service models learn about protocols by examining popular application-level protocols More goals  specific protocols:      http ftp smtp pop dns  programming network applications  socket programming 1: Introduction 8

Applications and application-layer protocols

Application: communicating, distributed processes  running in network hosts in “user space”  exchange messages to implement app  e.g., email, file transfer, the Web Application-layer protocols    one “piece” of an app define messages exchanged by apps and actions taken user services provided by lower layer protocols application transport network data link physical application transport network data link physical application transport network data link physical 1: Introduction 9

Client-server paradigm

Typical network app has two pieces:

client

and

server

Client:  initiates contact with server (“speaks first”)  typically requests service from server,  e.g.: request WWW page, send email Server:   provides requested service to client e.g., sends requested WWW page, receives/stores received email application transport network data link physical request reply application transport network data link physical 1: Introduction 10

Application-layer protocols (cont).

API: application   programming interface defines interface between application and transport layer socket: Internet API  two processes communicate by sending data into socket, reading data out of socket Q: how does a process “identify” the other process with which it wants to communicate?

 IP address of host running other process  “ port number ” - allows receiving host to determine to which local process the message should be delivered … lots more on this later.

1: Introduction 11

What transport service does an app need?

Data loss   some apps (e.g., audio) can tolerate some loss other apps (e.g., file transfer, telnet) require 100% reliable data transfer Bandwidth   some apps (e.g., multimedia) require minimum amount of bandwidth to be “effective” other apps (“elastic apps”) make use of whatever bandwidth they get Timing  some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” 1: Introduction 12

Transport service requirements of common apps

Application Data loss Bandwidth Time Sensitive

file transfer e-mail Web documents real-time audio/video no loss no loss no loss loss-tolerant stored audio/video interactive games financial apps loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5Kb-1Mb video:10Kb-5Mb same as above few Kbps up elastic no no no yes, 100’s msec yes, few secs yes, 100’s msec yes and no 1: Introduction 13

Internet apps: their protocols and transport protocols

Application Application layer protocol Underlying transport protocol

e-mail remote terminal access Web file transfer streaming multimedia remote file server Internet telephony smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietary (e.g. RealNetworks) NSF proprietary (e.g., Vocaltec) TCP TCP TCP TCP TCP or UDP TCP or UDP typically UDP 1: Introduction 14