* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download lecture3 - Academic Csuohio
Survey
Document related concepts
Net neutrality law wikipedia , lookup
Distributed firewall wikipedia , lookup
Computer security wikipedia , lookup
Network tap wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Deep packet inspection wikipedia , lookup
Computer network wikipedia , lookup
Airborne Networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Internet protocol suite wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Peer-to-peer wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Transcript
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) 1 Outline Protocol layers, reference models Network standards Internet history Application layer Principles of networked applications 5/25/2017 EEC-484/584: Computer Networks 2 Protocol “Layers” Networks are complex! many “pieces”: hosts routers links of various media applications protocols hardware, software 5/25/2017 Question: Is there any hope of organizing structure of network? Or at least our discussion of networks? EEC-484/584: Computer Networks 3 Organization of Air Travel ticket (purchase) ticket (complain) baggage (check) baggage (claim) gates (load) gates (unload) runway takeoff runway landing airplane routing airplane routing airplane routing 5/25/2017 A series of steps EEC-484/584: Computer Networks 4 Layering of Airline Functionality ticket (purchase) ticket (complain) ticket baggage (check) baggage (claim) baggage gates (load) gates (unload) gate runway (takeoff) runway (land) takeoff/landing airplane routing airplane routing airplane routing departure airport airplane routing airplane routing intermediate air-traffic control centers arrival airport Layers: each layer implements a service 5/25/2017 Via its own internal-layer actions Relying on services provided by layer below EEC-484/584: Computer Networks 5 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 5/25/2017 Change of implementation of layer’s service transparent to rest of system E.g., change in gate procedure doesn’t affect rest of system EEC-484/584: Computer Networks 6 Internet Protocol Stack Application: supporting network applications Transport: process-process data transfer IP, routing protocols Link: data transfer between neighboring network elements Transport TCP, UDP Network: routing of datagrams from source to destination Application HTTP, DNS, SMTP PPP, Ethernet Network Link Physical Physical: bits “on the wire” 5/25/2017 EEC-484/584: Computer Networks 7 ISO/OSI Reference Model Presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machinespecific 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 5/25/2017 EEC-484/584: Computer Networks 8 source message segment M Ht M datagram Hn Ht M frame Hl Hn Ht M Encapsulation application transport network link physical link physical switch destination M Ht M Hn Ht Hl Hn Ht M M 5/25/2017 application transport network link physical Hn Ht Hl Hn Ht M M network link physical Hn Ht M router EEC-484/584: Computer Networks 9 Network Standardization Why standard? Only way to achieve interoperability Standards also increase the market for products adhering to them Two kinds of standards 5/25/2017 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 10 Treaty Organization between Nations United Nations ITU - International Telecommunications Union CCITT/ITU-T – telephone and data communications 5/25/2017 EEC-484/584: Computer Networks 11 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) 5/25/2017 EEC-484/584: Computer Networks 12 IEEE 802 Standards 5/25/2017 EEC-484/584: Computer Networks 13 Internet Standard Body Internet Society (used to be Internet Architecture Board) Internet Research Task Force (IRTF) Internet Engineering Task Force (IETF) Concentrate on long term research 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 5/25/2017 EEC-484/584: Computer Networks 14 Internet History 1961-1972: Early packet-switching principles 1961: Kleinrock - queueing theory shows effectiveness of packet-switching 1964: Baran - packetswitching in military nets 1967: ARPAnet conceived by Advanced Research Projects Agency 1969: first ARPAnet node operational 5/25/2017 1972: ARPAnet public demonstration NCP (Network Control Protocol) first host-host protocol first e-mail program ARPAnet has 15 nodes EEC-484/584: Computer Networks 15 Internet History 1972-1980: 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 5/25/2017 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 EEC-484/584: Computer Networks 16 Internet History 1980-1990: new protocols, a proliferation of networks 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 5/25/2017 New national networks: Csnet, BITnet, NSFnet, Minitel 100,000 hosts connected to confederation of networks EEC-484/584: Computer Networks 17 Internet History 1990, 2000’s: commercialization, the Web, new apps Early 1990’s: ARPAnet Late 1990’s – 2000’s: decommissioned More killer apps: instant 1991: NSF lifts restrictions on messaging, P2P file sharing commercial use of NSFnet Network security to forefront (decommissioned, 1995) Est. 50 million host, 100 Early 1990s: Web million+ users Hypertext [Bush 1945, Nelson Backbone links running at 1960’s] Gbps HTML, HTTP: Berners-Lee 1994: Mosaic, later Netscape Late 1990’s: commercialization of the Web 5/25/2017 EEC-484/584: Computer Networks 18 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 5/25/2017 EEC-484/584: Computer Networks 19 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 5/25/2017 You now have: Context, overview, “feel” of networking More depth, detail to follow! EEC-484/584: Computer Networks 20 Application Layer Protocols Principles of networked applications Client server model Sockets Addressing Protocol What do we need from transport layer? 5/25/2017 EEC-484/584: Computer Networks 21 Wenbing Zhao Creating a Network Application Write programs that run on different end systems and communicate over a network application transport network data link physical 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 5/25/2017 application transport network data link physical EEC-484/584: Computer Networks application transport network data link physical 22 Wenbing 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 5/25/2017 EEC-484/584: Computer Networks 23 Wenbing 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 5/25/2017 host or server host or server Controlled by app developer process process socket socket TCP with buffers, variables Internet TCP with buffers, variables Controlled by OS EEC-484/584: Computer Networks 24 Wenbing 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? 5/25/2017 EEC-484/584: Computer Networks 25 Wenbing 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: 5/25/2017 IP address: 137.148.49.46 Port number: 80 EEC-484/584: Computer Networks 26 Wenbing Zhao Application Layer Protocol Defines Types of messages exchanged Message syntax what fields in messages & how fields are delineated Message semantics e.g., request, response meaning of information in fields Public-domain protocols: defined in RFCs allows for interoperability e.g., HTTP, SMTP Proprietary protocols: e.g., KaZaA Rules for when and how processes send & respond to messages 5/25/2017 EEC-484/584: Computer Networks 27 Wenbing 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” 5/25/2017 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 EEC-484/584: Computer Networks 28 Wenbing Zhao Homework#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? 5/25/2017 EEC-484/584: Computer Networks 29