EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao [email protected] (Part of the slides are...

29
EEC-484/584 EEC-484/584 Computer Networks Computer Networks Lecture 3 Lecture 3 Wenbing Zhao Wenbing Zhao [email protected] (Part of the slides are based on Drs. (Part of the slides are based on Drs. Kurose & Ross Kurose & Ross s slides for their s slides for their Computer Networking Computer Networking book) book)
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    0

Transcript of EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao [email protected] (Part of the slides are...

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

EEC-484/584EEC-484/584Computer NetworksComputer Networks

Lecture 3Lecture 3

Wenbing ZhaoWenbing Zhao

[email protected] (Part of the slides are based on Drs. Kurose & (Part of the slides are based on Drs. Kurose &

RossRoss’’s slides for their s slides for their Computer Networking Computer Networking book)book)

Page 2: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

22

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

33

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

Protocol “Layers”Protocol “Layers”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/18/2304/18/23

Page 4: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

44

EEC-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/18/2304/18/23

Page 5: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

55

EEC-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 FunctionalityLayering of Airline Functionality

Layers: each layer implements a service

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

04/18/2304/18/23

Page 6: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

66

EEC-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/18/2304/18/23

Page 7: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

77

EEC-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/18/2304/18/23

Page 8: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

88

EEC-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/18/2304/18/23

Page 9: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

99

EEC-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

EncapsulationEncapsulationmessage M

Ht M

Hn

frame

04/18/2304/18/23

Page 10: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1010

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1111

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1212

04/18/2304/18/23

Voluntary, Nontreaty OrganizationVoluntary, Nontreaty Organization

ISO (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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1313

04/18/2304/18/23

IEEE 802 StandardsIEEE 802 Standards

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

Page 14: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1414

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1515

EEC-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/18/2304/18/23

Page 16: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1616

EEC-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/18/2304/18/23

Page 17: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1717

EEC-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/18/2304/18/23

Page 18: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1818

EEC-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/18/2304/18/23

Page 19: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

1919

EEC-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/18/2304/18/23

Page 20: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2020

EEC-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/18/2304/18/23

Page 21: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2121

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2222

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2323

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

Inter-Process CommunicationsInter-Process Communications

• 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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2424

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2525

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2626

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2727

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

Application Layer Protocol DefinesApplication Layer Protocol Defines

• 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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2828

04/18/2304/18/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: EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

2929

04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks

ExerciseExercise

• 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?