340 likes | 352 Views
EEC-484/584 Computer Networks. Lecture 3 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book ). Outline. Connection-oriented and connectionless services Switching Reference models Networking Standards
E N D
EEC-484/584Computer Networks Lecture 3 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross’s slides for their Computer Networking book)
Outline • Connection-oriented and connectionless services • Switching • Reference models • Networking Standards • Application layer protocols • Overview EEC-484/584: Computer Networks
Connection-Oriented Services • Modeled after telephone system– establish connection before communication • Some service allows a negotiation among sender, receiver and subnet regarding the parameters to be used, such as max message size, etc. EEC-484/584: Computer Networks
Connectionless Services • Modeled after postal system– a message carries full destination address, and each one is routed through the system independent of all the others • Ordering of messages are not guaranteed EEC-484/584: Computer Networks
Quality of Services • Quality of service– characterize each service • Reliableservice– it does not lose data • Implemented by having the receiver acknowledge the receipt of each message • Possible for both connection-oriented and connectionless services • Connection-oriented service is not necessarily a reliable service! EEC-484/584: Computer Networks
Connection-Oriented and Connectionless Services EEC-484/584: Computer Networks
Switching • Circuit switching • Packet switching EEC-484/584: Computer Networks
Circuit Switching and Packet Switching (a) Circuit switching (b) Packet switching EEC-484/584: Computer Networks
Circuit Switching • Circuit switching –physical path set up from source to destination before any data transmitted, e.g., phone system • Adv: no congestion problem, only delay is propagation time • Disadv: unused bandwidth on allocated circuit is wasted • Will go back on this in lecture 11 (network layer) EEC-484/584: Computer Networks
Packet Switching • Packet switching – store-and-forward, one hop at a time, uses pipelining, each packet has limited size • Adv: low overhead – no setup required, high utilization • Disadv: packets may be received out of order, packets may be lost due to buffer overflow • Will go back on this in lecture 11 (network layer) EEC-484/584: Computer Networks
Reference Models • The OSI Reference Model • ISO – International Standards Organization • OSI – Open Systems Interconnection • Open: open for communication with other systems • The TCP/IP Reference Model EEC-484/584: Computer Networks
The OSI Reference Model EEC-484/584: Computer Networks
Principles Applied in Deriving Layers • A layer should be created where a different level of abstraction is needed • Each layer should perform a well-defined function • The layer boundaries should be chosen to minimize info flow across interfaces • The number of layers should be • large enough to separate distinct functions • small enough to have a manageable architecture EEC-484/584: Computer Networks
TCP/IP Reference Model • TCP – Transmission Control Protocol • IP – Internet Protocol • Used in Internet and its predecessor ARPANET • TCP/IP invented by Cerf and Kahn in 1974, became official protocol of ARPANET in 1983 EEC-484/584: Computer Networks
TCP/IP Reference Model EEC-484/584: Computer Networks
TCP/IP Reference Model • Internet Layer • Connectionless (packet switched) • Injects packets into the network; delivers them to the destination • May be delivered out-of-order • Packet routing and congestion control are key issues • Uses Internet Protocol EEC-484/584: Computer Networks
TCP/IP Reference Model • Transport layer, two protocols • TCP – Transmission Control Protocol • Point-to-point • Connection-oriented • Reliable (no message loss or corruption) • Source ordered (sequenced) • Flow control • Byte stream, does not maintain message boundary EEC-484/584: Computer Networks
TCP/IP Reference Model • UDP – User Datagram Protocol • Point-to-point • Connectionless • Unreliable • Not source ordered • No flow control • Preserve message boundary EEC-484/584: Computer Networks
TCP/IP Reference Model • Application Layer – contains higher-level protocols • DNS – Domain Name Service • Maps host names onto their network addresses • HTTP – HyperText Transfer Protocol • Fetches pages on the World Wide Web • FTP – File Transfer Protocol • Allows user to transfer files efficiently from one machine to another EEC-484/584: Computer Networks
TCP/IP Reference Model • Host-to-Network Layer • Host has to connect to the network using some protocol so it can send IP packets to it • No protocol is defined EEC-484/584: Computer Networks
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
United Nations ITU - International Telecommunications Union CCITT/ITU-T – telephone and data communications Treaty Organization between Nations EEC-484/584: Computer Networks
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) Voluntary, Nontreaty Organization EEC-484/584: Computer Networks
IEEE 802 Standards EEC-484/584: Computer Networks
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: > 4 month test • Internet standard: if convinced the idea is sound EEC-484/584: Computer Networks
Application Layer Protocols • Principles of networked applications • Client server model • Sockets • Addressing • Protocol • What do we need from transport layer? EEC-484/584: Computer Networks
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 Creating a Network Application EEC-484/584: Computer Networks
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 Inter-Process Communications EEC-484/584: Computer Networks
host or server host or server process process socket socket TCP with buffers, variables TCP with buffers, variables Sockets • Process sends/receives messages to/from its socket • For each point-to-point connection, there are two sockets, one on each side • API: (1) choice of transport protocol; (2) ability to fix a few parameters Controlled by app developer Internet Controlled by OS EEC-484/584: Computer Networks
To receive messages, process must have identifier Host device has unique 32-bit IP address Question: Does IP address of host on which process runs suffice for identifying the process? Addressing EEC-484/584: Computer Networks
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 Addressing EEC-484/584: Computer Networks
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 Application Layer Protocol Defines EEC-484/584: Computer Networks
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” What Transport Service Does an Application Need? 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
Transport Service Requirements of Common Applications Time Sensitive no no no yes, 100’s msec yes, few secs yes, 100’s msec yes and no Application file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging Bandwidth elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic Data loss no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss EEC-484/584: Computer Networks