Download presentation
Presentation is loading. Please wait.
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)
2
EEC-484/584: Computer Networks
Outline Protocol layers, reference models Network standards Internet history Application layer Principles of networked applications 12/31/2018 EEC-484/584: Computer Networks
3
Protocol “Layers” Networks are complex! Question: 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? 12/31/2018 EEC-484/584: Computer Networks
4
Organization of Air Travel
ticket (purchase) baggage (check) gates (load) runway takeoff airplane routing ticket (complain) baggage (claim) gates (unload) runway landing A series of steps 12/31/2018 EEC-484/584: Computer Networks
5
Layering of Airline Functionality
ticket (purchase) baggage (check) gates (load) runway (takeoff) airplane routing departure airport arrival intermediate air-traffic control centers ticket (complain) baggage (claim) gates (unload) runway (land) ticket baggage gate takeoff/landing Layers: each layer implements a service Via its own internal-layer actions Relying on services provided by layer below 12/31/2018 EEC-484/584: Computer Networks
6
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 12/31/2018 EEC-484/584: Computer Networks
7
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 12/31/2018 EEC-484/584: Computer Networks
8
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 12/31/2018 EEC-484/584: Computer Networks
9
EEC-484/584: Computer Networks
Encapsulation source message M application transport network link physical segment Ht M Ht datagram Ht Hn M Hn frame Ht Hn Hl M link physical switch destination network link physical Ht Hn M Ht Hn Hl M M application transport network link physical Ht Hn M Ht M Ht Hn M router Ht Hn Hl M 12/31/2018 EEC-484/584: Computer Networks
10
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) Each vendor/supplier has its own ideas of how things should be done, the only way out is to agree on some network standards 12/31/2018 EEC-484/584: Computer Networks
11
Treaty Organization between Nations
United Nations ITU - International Telecommunications Union CCITT/ITU-T – telephone and data communications Their standards are called recommendations for political reasons 12/31/2018 EEC-484/584: Computer Networks
12
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) 12/31/2018 EEC-484/584: Computer Networks
13
EEC-484/584: Computer Networks
IEEE 802 Standards Standard might not be always successful The 802 working groups. The important ones are marked with *. The ones marked with (e.g., ) are hibernating. The one marked with (e.g., 802.8) gave up and disbanded itself. 12/31/2018 EEC-484/584: Computer Networks
14
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 3000+ of RFCs in ietf Web site To advance to the Draft Standard stage, a working implementation must have been rigorously tested by at least two independent sites for at least 4 months. If the IAB is convinced that the idea is sound and the software works, it can declare the RFC to be an Internet Standard. 12/31/2018 EEC-484/584: Computer Networks
15
EEC-484/584: Computer Networks
Internet History : Early packet-switching principles 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 12/31/2018 EEC-484/584: Computer Networks
16
EEC-484/584: Computer Networks
Internet History : Internetworking, new and proprietary nets 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 12/31/2018 EEC-484/584: Computer Networks
17
EEC-484/584: Computer Networks
Internet History : new protocols, a proliferation of networks 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 12/31/2018 EEC-484/584: Computer Networks
18
EEC-484/584: Computer Networks
Internet History 1990, 2000’s: commercialization, the Web, new apps 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 12/31/2018 EEC-484/584: Computer Networks
19
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 12/31/2018 EEC-484/584: Computer Networks
20
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! 12/31/2018 EEC-484/584: Computer Networks
21
Application Layer Protocols
Principles of networked applications Client server model Sockets Addressing Protocol What do we need from transport layer? 12/31/2018 EEC-484/584: Computer Networks
22
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 e.g., Web: Web server software communicates with browser software 12/31/2018 EEC-484/584: Computer Networks
23
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 12/31/2018 EEC-484/584: Computer Networks
24
EEC-484/584: Computer Networks
Sockets process TCP with buffers, variables socket host or server process TCP with buffers, variables socket host or server 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 Controlled by app developer Socket analogous to door sending process shoves message out door sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process Internet Controlled by OS 12/31/2018 EEC-484/584: Computer Networks
25
EEC-484/584: Computer Networks
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? Answer: NO, many processes can be running on same host 12/31/2018 EEC-484/584: Computer Networks
26
EEC-484/584: Computer Networks
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 12/31/2018 EEC-484/584: Computer Networks
27
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 12/31/2018 EEC-484/584: Computer Networks
28
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 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 Timing some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” 12/31/2018 EEC-484/584: Computer Networks
29
EEC-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? 12/31/2018 EEC-484/584: Computer Networks
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.