1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose...
-
Upload
alyson-blankenship -
Category
Documents
-
view
223 -
download
1
Transcript of 1 EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose...
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)
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
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
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
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
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
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
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
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
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
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
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
1304/21/2304/21/23
IEEE 802 StandardsIEEE 802 Standards
EEC-484/584: Computer NetworksEEC-484/584: Computer Networks
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
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
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
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
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
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
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
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?
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
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
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
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?
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
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
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
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?