1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose...

29
1 EEC-484/584 EEC-484/584 Computer Computer Networks Networks Lecture 3 Lecture 3 Wenbing Zhao Wenbing Zhao (Part of the slides are based on Drs. Kurose & (Part of the slides are based on Drs. Kurose & Ross Ross s slides for their s slides for their Computer Networking Computer Networking book) book)

Transcript of 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose...

Page 1: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

1

EEC-484/584EEC-484/584Computer Computer NetworksNetworksLecture 3Lecture 3

Wenbing ZhaoWenbing Zhao

(Part of the slides are based on Drs. Kurose & Ross(Part of the slides are based on Drs. Kurose & Ross’’s slides s slides for their for their Computer Networking Computer Networking book)book)

Page 2: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

204/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

OutlineOutline Protocol layers, reference models Network standards Internet history Application layer

Principles of networked applications

Page 3: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

3EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Protocol Protocol ““LayersLayers””Networks are complex! many “pieces”:

hosts routers links of various media applications protocols hardware, software

Question: Is there any hope of organizing structure of

network?

Or at least our discussion of networks?

04/21/2304/21/23

Page 4: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

4EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Organization of Air TravelOrganization of Air Travel

A series of steps

ticket (purchase)

baggage (check)

gates (load)

runway takeoff

airplane routing

ticket (complain)

baggage (claim)

gates (unload)

runway landing

airplane routing

airplane routing

04/21/2304/21/23

Page 5: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

5EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

ticket (purchase)

baggage (check)

gates (load)

runway (takeoff)

airplane routing

departureairport

arrivalairport

intermediate air-trafficcontrol centers

airplane routing airplane routing

ticket (complain)

baggage (claim)

gates (unload)

runway (land)

airplane routing

ticket

baggage

gate

takeoff/landing

airplane routing

Layering of Airline Layering of Airline FunctionalityFunctionality

Layers: each layer implements a service

Via its own internal-layer actions Relying on services provided by layer below

04/21/2304/21/23

Page 6: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

6EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Why Layering?Why Layering?Dealing with complex systems: Explicit structure allows identification,

relationship of complex system’s pieces Layered reference model for discussion

Modularization eases maintenance, updating of system Change of implementation of layer’s service transparent

to rest of system E.g., change in gate procedure doesn’t affect rest of

system

04/21/2304/21/23

Page 7: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

7EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Internet Protocol StackInternet Protocol Stack Application: supporting network applications

HTTP, DNS, SMTP Transport: process-process data transfer

TCP, UDP Network: routing of datagrams from source to

destination IP, routing protocols

Link: data transfer between neighboring network elements PPP, Ethernet

Physical: bits “on the wire”

04/21/2304/21/23

Page 8: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

8EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

ISO/OSI Reference ModelISO/OSI Reference Model Presentation: allow applications to

interpret meaning of data, e.g., encryption, compression, machine-specific conventions

Session: synchronization, checkpointing, recovery of data exchange

Internet stack “missing” these layers! these services, if needed, must be

implemented in application

Application

Presentation

Session

Transport

Network

Link

Physical

04/21/2304/21/23

Page 9: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

9EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

source

application

transportnetwork

linkphysical

HtHn M

segment Ht

datagram

destination

application

transportnetwork

linkphysical

HtHnHl M

HtHn M

Ht M

M

networklink

physical

linkphysical

HtHnHl M

HtHn M

HtHn M

HtHnHl M

router

switch

EncapsulatioEncapsulationnmessage M

Ht M

Hn

frame

04/21/2304/21/23

Page 10: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

1004/21/2304/21/23

Network StandardizationNetwork Standardization Why standard?

Only way to achieve interoperability Standards also increase the market for products

adhering to them Two kinds of standards

De facto – from the fact (standards that just happened) De jure – by law (formal, legal standards adopted by

authorized organization)

EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Page 11: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

1104/21/2304/21/23

Treaty Organization between Treaty Organization between NationsNations

United Nations

ITU - International Telecommunications Union

CCITT/ITU-T – telephone and data communications

EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Page 12: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

1204/21/2304/21/23

Voluntary, Nontreaty Voluntary, Nontreaty OrganizationOrganizationISO (International Standards Organization)

issues standards on wide range of topics

200 TC (Technical Committees)

TC97 – computers and info processing

SC (Subcommittees)

WG (Working Groups)

ANSI (American National Standards Institute)

EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Page 13: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

1304/21/2304/21/23

IEEE 802 StandardsIEEE 802 Standards

EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Page 14: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

1404/21/2304/21/23

Internet Standard BodyInternet Standard Body Internet Society (used to be Internet

Architecture Board) Internet Research Task Force (IRTF)

Concentrate on long term research Internet Engineering Task Force (IETF)

Deal with short term engineering issues Standardization process

Proposed standard: request for comments (RFCs) Draft standard: after >= 4 month test by >= 2 sites Internet standard: if convinced the idea is sound

EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Page 15: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

15EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Internet HistoryInternet History

1961: Kleinrock - queueing theory shows effectiveness of packet-switching

1964: Baran - packet-switching in military nets

1967: ARPAnet conceived by Advanced Research Projects Agency

1969: first ARPAnet node operational

1972: ARPAnet public demonstration NCP (Network Control Protocol)

first host-host protocol first e-mail program ARPAnet has 15 nodes

1961-1972: Early packet-switching principles

04/21/2304/21/23

Page 16: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

16EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Internet HistoryInternet History

1970: ALOHAnet satellite network in Hawaii

1974: Cerf and Kahn - architecture for interconnecting networks

1976: Ethernet at Xerox PARC late70’s: proprietary

architectures: DECnet, SNA, XNA

late 70’s: switching fixed length packets (ATM precursor)

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

1972-1980: Internetworking, new and proprietary nets

04/21/2304/21/23

Page 17: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

17EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Internet HistoryInternet History

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

1980-1990: new protocols, a proliferation of networks

04/21/2304/21/23

Page 18: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

18EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Internet HistoryInternet History

Early 1990’s: ARPAnet decommissioned

1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995)

Early 1990s: Web Hypertext [Bush 1945, Nelson

1960’s] HTML, HTTP: Berners-Lee 1994: Mosaic, later Netscape Late 1990’s: commercialization

of the Web

Late 1990’s – 2000’s: More killer apps: instant

messaging, P2P file sharing Network security to forefront Est. 50 million host, 100

million+ users Backbone links running at

Gbps

1990, 2000’s: commercialization, the Web, new apps

04/21/2304/21/23

Page 19: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

19EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Internet HistoryInternet History

2007: ~500 million hosts Voice, Video over IP P2P applications: BitTorrent (file sharing), Skype (VoIP),

PPLive (video) More applications: youtube, gaming Wireless, mobility

04/21/2304/21/23

Page 20: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

20EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Introduction: SummaryIntroduction: SummaryCovered a “ton” of material! Internet overview What’s a protocol? Network edge, core, access

network Packet-switching versus

circuit-switching Internet structure

Performance: loss, delay, throughput

Layering, reference models Networking standards History

You now have: Context, overview, “feel”

of networking More depth, detail to

follow!

04/21/2304/21/23

Page 21: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

2104/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

Application Layer ProtocolsApplication Layer Protocols

Principles of networked applications Client server model Sockets Addressing Protocol What do we need from transport layer?

Page 22: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

2204/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

Creating a Network ApplicationCreating a Network Application Write programs that

run on different end systems and

communicate over a network

No need to write code for devices in subnet Subnet devices do not run

user application code application on end systems

allows for rapid app development, propagation

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Page 23: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

2304/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

Inter-Process Inter-Process CommunicationsCommunications Process: program

running within a host Processes in different

hosts communicate by exchanging messages

Client process: process that initiates communication

Server process: process that waits to be contacted

More accurately, client and server should be regarded as the roles played by a process. A process can be both a client and a server

Page 24: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

2404/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

SocketsSockets Process sends/receives

messages to/from its socket For each point-to-point

connection, there are two sockets, one on each side

API (Application Programming Interface): (1) choice of transport protocol; (2) ability to fix a few parameters

process

TCP withbuffers,variables

socket

host orserver

process

TCP withbuffers,variables

socket

host orserver

Internet

Controlledby OS

Controlled byapp developer

Page 25: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

2504/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

AddressingAddressing To receive messages, a process must have an

identifier Each host device has a unique 32-bit IP address Question: Does the IP address of the host on which

the process runs suffice for identifying the process?

Page 26: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

2604/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

AddressingAddressing Identifier includes both IP address and port

numbers (16-bit) associated with process on host Example port numbers:

HTTP server: 80 SSH server: 22

To send HTTP request to academic.csuohio.edu Web server: IP address: 137.148.49.46 Port number: 80

Page 27: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

2704/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

Application Layer Protocol Application Layer Protocol DefinesDefines Types of messages exchanged

e.g., request, response Message syntax

what fields in messages & how fields are delineated

Message semantics meaning of information in fields

Rules for when and how processes send & respond to messages

Public-domain protocols: defined in RFCs allows for interoperability e.g., HTTP, SMTP

Proprietary protocols: e.g., KaZaA

Page 28: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

2804/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

What Transport Service Does an What Transport Service Does an Application Need?Application Need?Data loss some apps (e.g., audio) can

tolerate some loss other apps (e.g., file transfer,

telnet) require 100% reliable data transfer

Timing some apps (e.g., Internet

telephony, interactive games) require low delay to be “effective”

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

Page 29: 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)

2904/21/2304/21/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

Homework#1 problem1Homework#1 problem1

A system has an n-layer protocol hierarchy. Applications generate messages of length M bytes. At each of the layers, an h-byte header is added. What fraction of the network bandwidth is filled with headers?