Understanding Protocol Layers in Computer Networking
Explore the concept of protocol layers in computer networks for organizing the structure of complex systems. Learn about the organization of network functionality similar to air travel processes and the benefits of layering in dealing with complex systems. Delve into the Internet Protocol Stack, highlighting the layers from application to physical for data transfer and routing.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
CIS454/554 Data Comm. 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 10/11/2024 2
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? 10/11/2024 3
Organization of Air Travel ticket (complain) ticket (purchase) baggage (claim) baggage (check) gates (unload) gates (load) runway landing runway takeoff airplane routing airplane routing airplane routing A series of steps 10/11/2024 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 airplane routing airplane routing departure airport intermediate air-traffic control centers arrival airport Layers: each layer implements a service Via its own internal-layer actions Relying on services provided by layer below 10/11/2024 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 Change of implementation of layer s service transparent to rest of system E.g., change in gate procedure doesn t affect rest of system 10/11/2024 6
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 10/11/2024 7
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 10/11/2024 8
source Encapsulation message application transport network link physical M M segment datagram frame Ht Ht M M Hn Hn Hn Ht Ht Hl link physical switch destination application transport network link physical network link physical M Hn Ht M Hl Hn Ht M M Ht M Hn Ht router M Hl Hn Ht 10/11/2024 9
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) 10/11/2024 10
Treaty Organization between Nations United Nations ITU - International Telecommunications Union CCITT/ITU-T telephone and data communications 10/11/2024 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) 10/11/2024 12
IEEE 802 Standards 10/11/2024 13
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 10/11/2024 14
Internet History 1961-1972: Early packet-switching principles 1972: ARPAnet public demonstration NCP (Network Control Protocol) first host-host protocol first e-mail program ARPAnet has 15 nodes 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 10/11/2024 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 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 10/11/2024 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 New national networks: Csnet, BITnet, NSFnet, Minitel 100,000 hosts connected to confederation of networks 10/11/2024 17
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 10/11/2024 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 10/11/2024 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 You now have: Context, overview, feel of networking More depth, detail to follow! 10/11/2024 20
Application Layer Protocols Principles of networked applications Client server model Sockets Addressing Protocol What do we need from transport layer? 10/11/2024 Wenbing Zhao 21
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 10/11/2024 Wenbing Zhao 22
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 10/11/2024 Wenbing Zhao 23
Sockets host or server 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 process process socket socket TCP with buffers, variables TCP with buffers, variables Internet Controlled by OS 10/11/2024 Wenbing Zhao 24
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? 10/11/2024 Wenbing Zhao 25
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: 137.148.49.46 Port number: 80 10/11/2024 Wenbing Zhao 26
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 10/11/2024 Wenbing Zhao 27
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 10/11/2024 Wenbing Zhao 28
Homework#1.2 Objective 2: Able to understand the layered network protocol design, and to compute the overhead introduced by the layered approach. Key points: The message unit from a higher layer is entirely encapsulated in in the payload part of the message constructed in the lower layer Only the message generated by the lowest layer is sent to the network directly Problem: 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? 10/11/2024 29