eec-484/584 computer networks lecture 3 wenbing zhao [email protected] (part of the slides are...
Post on 21-Dec-2015
218 views
TRANSCRIPT
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)
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
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
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
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
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
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
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
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
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
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
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
1313
04/18/2304/18/23
IEEE 802 StandardsIEEE 802 Standards
EEC-484/584: Computer NetworksEEC-484/584: Computer Networks
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
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
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
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
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
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
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
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?
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
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
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
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?
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
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
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
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?