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 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao Second Session Issue Available time slot –M W 4-5:50pm –T Th 6-7:50pm –M W 8-9:50pm –M W 2-3:50pm –T Th 2-3:50pm –F 4-7:50pm 1 st option: to have a second session with at least 16 students 2 nd option: common lecture time, but 3 sessions of labs and discussions
3 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao Outline Mock quiz Reference models Networking Standards Application layer protocols –Overview Change of schedule –Next time will be lecture –Lab 1 will be deferred to Sept 12
4 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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
5 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao The OSI Reference Model
6 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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
7 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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
8 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao TCP/IP Reference Model
9 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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
10 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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
11 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao TCP/IP Reference Model UDP – User Datagram Protocol –Point-to-point –Connectionless –Unreliable –Not source ordered –No flow control –Preserve message boundary
12 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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
13 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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
14 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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)
15 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao Treaty Organization between Nations United Nations ITU - International Telecommunications Union CCITT/ITU-T – telephone and data communications
16 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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)
17 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao IEEE 802 Standards
18 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao 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
19 Spring Semester 2006EEC-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? WWW and HTTP
20 Spring Semester 2006EEC-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
21 Spring Semester 2006EEC-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
22 Spring Semester 2006EEC-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: (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
23 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao Addressing 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?
24 Spring Semester 2006EEC-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
25 Spring Semester 2006EEC-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
26 Spring Semester 2006EEC-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
27 Spring Semester 2006EEC-484/584: Computer NetworksWenbing Zhao Transport Service Requirements of Common Applications Application file transfer Web documents real-time audio/video stored audio/video interactive games instant messaging Data loss no loss loss-tolerant no loss Bandwidth elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic Time Sensitive no yes, 100’s msec yes, few secs yes, 100’s msec yes and no