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)
2 6/25/2015EEC-484/584: Computer Networks Outline Throughput in packet-switched networks Protocol layers, reference models Network standards Internet history Application layer –Principles of networked applications
3 EEC-484/584: Computer Networks Throughput Throughput: rate (bits/time unit) at which bits transferred between sender/receiver –Instantaneous: rate at given point in time –Average: rate over longer period of time server, with file of F bits to send to client link capacity R s bits/sec link capacity R c bits/sec pipe that can carry fluid at rate R s bits/sec) pipe that can carry fluid at rate R c bits/sec) server sends bits (fluid) into pipe 6/25/2015
4 EEC-484/584: Computer Networks Throughput (more) R s < R c What is average end-end throughput? R s bits/sec R c bits/sec R s > R c What is average end-end throughput? R s bits/sec R c bits/sec link on end-end path that constrains end-end throughput bottleneck link 6/25/2015
5 EEC-484/584: Computer Networks Throughput: Internet Scenario 10 connections (fairly) share backbone bottleneck link R bits/sec RsRs RsRs RsRs RcRc RcRc RcRc R Per-connection end-end throughput: min(R c,R s,R/10) In practice: R c or R s is often bottleneck 6/25/2015
6 EEC-484/584: Computer Networks 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? 6/25/2015
7 EEC-484/584: Computer Networks Organization 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 6/25/2015
8 EEC-484/584: Computer Networks ticket (purchase) baggage (check) gates (load) runway (takeoff) airplane routing departure airport arrival airport intermediate air-traffic control centers airplane routing ticket (complain) baggage (claim) gates (unload) runway (land) airplane routing ticket baggage gate takeoff/landing airplane routing Layering of Airline Functionality Layers: each layer implements a service –Via its own internal-layer actions –Relying on services provided by layer below 6/25/2015
9 EEC-484/584: Computer Networks 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 6/25/2015
10 EEC-484/584: Computer Networks Internet 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” Application Transport Network Link Physical 6/25/2015
11 EEC-484/584: Computer Networks ISO/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 6/25/2015
12 EEC-484/584: Computer Networks source application transport network link physical HtHt HnHn M segment HtHt datagram destination application transport network link physical HtHt HnHn HlHl M HtHt HnHn M HtHt M M network link physical link physical HtHt HnHn HlHl M HtHt HnHn M HtHt HnHn M HtHt HnHn HlHl M router switchEncapsulation message M HtHt M HnHn frame 6/25/2015
13 Network 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 Networks
14 6/25/2015 Treaty Organization between Nations United Nations ITU - International Telecommunications Union CCITT/ITU-T – telephone and data communications EEC-484/584: Computer Networks
15 6/25/2015 Voluntary, 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 Networks
16 6/25/2015 IEEE 802 Standards EEC-484/584: Computer Networks
17 6/25/2015 Internet 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 Networks
18 Internet 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 program –ARPAnet has 15 nodes : Early packet-switching principles 6/25/2015
19 EEC-484/584: Computer Networks Internet 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 : Internetworking, new and proprietary nets 6/25/2015
20 EEC-484/584: Computer Networks Internet History 1983: deployment of TCP/IP 1982: SMTP 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 : new protocols, a proliferation of networks 6/25/2015
21 EEC-484/584: Computer Networks Internet 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 6/25/2015
22 EEC-484/584: Computer Networks Internet History 2007: ~500 million hosts Voice, Video over IP P2P applications: BitTorrent (file sharing), Skype (VoIP), PPLive (video) More applications: youtube, gaming Wireless, mobility 6/25/2015
23 EEC-484/584: Computer Networks Introduction: Summary Covered 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! 6/25/2015
24 EEC-484/584: Computer NetworksWenbing Zhao Application Layer Protocols Principles of networked applications –Client server model –Sockets –Addressing –Protocol –What do we need from transport layer?
25 6/25/2015EEC-484/584: Computer NetworksWenbing Zhao Creating 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 transport network data link physical application transport network data link physical application transport network data link physical
26 6/25/2015EEC-484/584: Computer NetworksWenbing Zhao Inter-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
27 6/25/2015EEC-484/584: Computer NetworksWenbing Zhao Sockets 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 with buffers, variables socket host or server process TCP with buffers, variables socket host or server Internet Controlled by OS Controlled by app developer
28 6/25/2015EEC-484/584: Computer NetworksWenbing Zhao Addressing 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?
29 6/25/2015EEC-484/584: Computer NetworksWenbing Zhao Addressing 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: –Port number: 80
30 6/25/2015EEC-484/584: Computer NetworksWenbing Zhao Application 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
31 6/25/2015EEC-484/584: Computer NetworksWenbing Zhao What Transport Service Does an 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
32 6/25/2015EEC-484/584: Computer Networks Exercise 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?