Computer Networking Yehuda Afek (afek at cs.tau.ac.il) Adopted the slides from Yishay Mansour Teaching Assistant: Yahav Nussbaum 1 Course Information Lectures: Sunday 4–7 Exercises: Wednesday 11 –12, 12 – 1 Schreiber 006 Orenstein 103 Web site: http://www.cs.tau.ac.il/~nuss/comnet08/ Books: •A Top-down Approach to Computer Networking / Kurouse-Ross 1. An Engineering Approach to Computer Networking / Keshav 2. Computer Networks / Tanenbaum 3. Data Networks / Bertsekas and Gallager 2/60 Practical Information Homework assignment: Mandatory Both theoretical and programming Grades: Final Exam: theory exercises: Programming exercises: 60% 20% 20% 3/60 Motivation Today’s economy manufacturing, distributing, and retailing goods but also creating and disseminating information publishing banking film making…. part of the ‘information economy’ Future economy is likely to be dominated by information! 4/60 Information? A representation of knowledge Examples: Can be represented in two ways books bills CDs & DVDs analog (atoms) digital (bits) the Digital Revolution convert information as atoms to information as bits use networks to move bits around instead of atoms 5/60 The Challenges represent all types of information as bits. move the bits In large quantities, everywhere, cheaply, Securely, with quality of service, …. 6/60 Today’s Networks are complex! hosts routers links of various media applications protocols hardware, software Tomorrow’s will be even more! 7/60 Internet Physical Infrastructure Residential access Cable Fiber DSL Wireless ISP Backbone ISP ISP The Internet is a network Campus access, e.g., Ethernet Wireless of networks Each individually administrated network is called an Autonomous System (AS) 8/60 8 This course’s Challenge To discuss this complexity in an organized way, that will make today’s computer networks (and their limitations) more comprehensive. identification, and understanding relationship of complex system’s pieces. Problems that are beyond a specific technology 9/60 Early communications systems I.e. telephone point-to-point links directly connect together the users wishing to communicate use dedicated communication circuit if distance between users increases beyond the length of the cable, the connection is formed by a number of sections connected end-to-end in series. 10/60 Data Networks set of interconnected nodes exchange information sharing of the transmission circuits= "switching". many links allow more than one path between every 2 nodes. network must select an appropriate path for each required connection. 11/60 12/60 Qwest backbone http://www.qwest.com/largebusiness/enterprisesolutions/networkMaps/preloader.swf 13/60 Networking Issues - Telephone Addressing - identify the end user phone number 1-201-222-2673 = country code + city code + exchange + number Routing - How to get from source to destination. Telephone circuit switching: Based on the phone number. Information Units - How is information sent telephone Samples @ Fixed sampling rate. not self descriptive! have to know where and when a sample came 14/60 Networking Issues - Internet Addressing - identify the end user IP addresses 132.66.48.37, Refer to a host interface = network number + host number Routing- How to get from source to destination Packet switching: move packets (chunks) of data among routers from source to destination independently. Information Units - How is information sent. Self-descriptive data: packet = data + metadata (header). 15/60 Telephone networks support a single, end-toend quality of service but is expensive to boot Internet supports no quality of service but is flexible and cheap Future networks will have to support a wide range of service qualities at a reasonable cost 16/60 History 1961-1972: Early packet-switching principles 1961: Kleinrock - queuing theory shows effectiveness of packet-switching 1964: Baran - packet-switching in military networks 1967: ARPAnet – conceived by Advanced Research Projects Agency 1969: first ARPAnet node operational 1972: ARPAnet demonstrated publicly NCP (Network Control Protocol) first host-host protocol first e-mail program ARPAnet has 15 nodes 17/60 History 1972-1980: Internetworking, new and proprietary nets 1970: ALOHAnet satellite network in Hawaii 1973: Metcalfe’s PhD thesis proposes Ethernet 1974: Cerf and Kahn - architecture for interconnecting networks late70’s: proprietary architectures: DECnet, SNA, XNA late 70’s: switching fixed length packets (ATM precursor) 1979: ARPAnet has 200 nodes 18/60 Cerf and Kahn’s internetworking principles: minimalism, autonomy - no internal changes required to interconnect networks best effort service model stateless routers decentralized control Defines today’s Internet architecture 19/60 History 1980-1990: new protocols, proliferation of networks 1983: 1982: 1983: 1985: 1988: deployment of TCP/IP SMTP e-mail protocol defined DNS defined for name-to-IP-address translation FTP protocol defined TCP congestion control new national networks: CSnet, BITnet, NSFnet, Minitel 100,000 hosts connected to confederation of networks 20/60 History 1990 - : commercialization and WWW early 1990’s: ARPAnet decomissioned 1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995) early 1990s: WWW hypertext [Bush 1945, Nelson 1960’s] HTML, http: Berners-Lee 1994: Mosaic, later Netscape late 1990’s: commercialization of WWW 21/60 Demand and Supply Huge growth in users Faster home access Better user experience. Infrastructure The introduction of the web Significant portion of telecommunication. New evolving industries Although, sometimes temporary setbacks 22/60 Million users Internet: Users 1500 1300 1100 900 700 500 300 100 -100 1995 1997 1999 2001 2003 2005 2007 2009 year 23/60 Penetration around the Globe (2008) 80 %Population %Penetration USA+Canada 70 60 Australia Asia/Pacific Europe 50 40 30 Latin America Middle East 20 Asia/Pacific Africa 10 Europe Africa Middle East USA+Canada Latin America Australia U http://www.internetworldstats.com/stats.htm Au st ra lia er ic a Am La tin SA +C an ad a st Ea id dl e M Eu ro pe cif ic As ia /P a Af ric a 0 26/60 Users around the Globe (2002/5/8) 700 Asia/Pacific 600 2008 500 2005 Europe 400 300 200 100 2002 USA+Canada Asia Latin America USA Pacific Europe Middle Latin Africa Middle East Canada Africa East AmericaAustralia Australia Au st ra lia er ic a Am La tin an ad a st U SA +C Ea id dl e M Eu ro pe cif ic As ia /P a Af ric a 0 27/60 Technology: Modem speed 100000 56000 60000 40000 20000 300 1200 2400 33600 28800 14400 9600 0 19 79 19 80 19 84 19 87 19 91 19 93 19 95 19 97 20 08 bps 80000 year 28/60 Today’s options Modem: 56 K OBSOLETE ISDN: 64K – 128K Frame Relay: 56K ++ Today High Speed Connections Cable, ADSL, Satellite. All are available at 5Mb (2005) 29/60 Coming soon (1999) 30/60 Today (2005) 31/60 Why do we need Standards Networks (and other media) support communication between different entities Need agreement to ensure correct, efficient and meaningful communication 32/60 Various Organizations Issue Standards IEEE (Institute for Electrical and Electronic Engineers) IETF (Internet Engineering Task Force) ITU (International Telecommunications Union) ISO (International Organization for Standardization) W3C (World Wide Web Consortium) 33/60 Protocol Layers A way for organizing structure of network … Or at least our discussion of networks The idea: a series of steps 34/60 Protocol Layering Necessary because communication is complex Intended primarily for protocol designers Divides the problem into intellectually manageable pieces Provides a conceptual framework that can help us understand protocols Think of layering as a guideline, not a rigid specification Understand that optimizations may violate strict layering Should be invisible to users 35/60 Mail system functionality QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. 36/60 How do we Communicate? Send a mail from Alice to Bob Bob Alice in Champaign, Bob in Hollywood Example: US Postal Service Alice Hollywood, California Champaign, Illinois 8/29/07 UIUC - CS/ECE 438, Fall 2007 37/60 What does Alice do? Alice 200 Cornfield Rd. Champaign, IL 61820 Bob 100 Santa Monica Blvd. Hollywood, CA 90028 Bob’s address (to a mailbox) Bob’s name – in case people share mailbox Postage – have to pay! Alice’s own name and address – in case Bob wants to return a message 8/29/07 UIUC - CS/ECE 438, Fall 2007 38/60 What does Bob do? Alice 200 Cornfield Rd. Champaign, IL 61820 Bob 100 Santa Monica Blvd. Hollywood, CA 90028 Install a mailbox Receive the mail Get rid of envelope Read the message 8/29/07 UIUC - CS/ECE 438, Fall 2007 39/60 Layers: Person delivery of parcel Post office counter handling Ground transfer: loading on trucks Peer entities Airport transfer: loading on airplane Airplane routing from source to destination each layer implements a service via its own internal-layer actions relying on services provided by layer below 42/60 Advantages of Layering 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 43/60 Protocols A protocol is a set of rules and formats that govern the communication between communicating peers set of valid messages meaning of each message Necessary for any function that requires cooperation between peers 44/60 Protocols A protocol provides a service For example: the post office protocol for reliable parcel transfer service Peer entities use a protocol to provide a service to a higher-level peer entity for example, truck drivers use a protocol to present post offices with the abstraction of an unreliable parcel transfer service 45/60 Protocol Layers A network that provides many services needs many protocols Some services are independent, But others depend on each other A Protocol may use another protocol as a step in its execution for example, ground transfer is one step in the execution of the example reliable parcel transfer protocol This form of dependency is called layering Post office handling is layered above parcel ground 46/60 transfer protocol. Open protocols and systems A set of protocols is open if A system that implements open protocols is called an open system International Organization for Standards (ISO) prescribes a standard to connect open systems protocol details are publicly available changes are managed by an organization whose membership and transactions are open to the public open system interconnect (OSI) Has greatly influenced thinking on protocol stacks 47/60 The seven Layers There are only 5 !! Application Presentation Session Application Transport Network Data Link Network Data Link Physical Physical End system Intermediate system Application Presentation Session Transport Network Data Link Physical End system 49/60 The seven Layers - protocol stack data Application Presentation Session AH PH Network Data Link Physical Physical Session data SH Transport Network Data Link TH data data data NH data DH+data+DT bits Application Presentation Session Transport Network Data Link Physical and presentation layers are not so important, and are often ignored 50/60 עיקרון השכבות Source Application מתקבלת הודעהX בשכבה Destination זהה להודעה ששכבה Application מסרה בצד המקורX Identical message Transport Transport Identical message Network Identical message Data-Link Network Data-Link Network 51/60 Postal network Application: people using the postal system Session and presentation: chief clerk sends some priority mail, and some by regular mail ; translator translates letters going abroad. mail clerk sends a message, retransmits if not acked postal system computes a route and forwards the letters datalink layer: letters carried by planes, trains, automobiles physical layer: the letter itself 52/60 Internet protocol stack application: supporting network applications ftp, smtp, http transport: host-host 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 53/60 Protocol layering and data M Ht M Hn Ht M Hl Hn Ht M source destination application transport network Link physical application transport network Link physical M message Ht M Hn Ht M Hl Hn Ht M segment datagram frame 54/60 Physical layer Moves bits between physically connected end-systems Standard prescribes L1 coding scheme to represent a bit shapes and sizes of connectors bit-level synchronization Internet technology to move bits on a wire, wireless link, satellite channel etc. 55/60 Datalink layer L2 (Reliable) communication over a single link. Introduces the notion of a frame set of bits that belong together Idle markers tell us that a link is not carrying a Begin and end markers delimit a frame Internet frame a variety of datalink layer protocols most common is Ethernet others are FDDI, SONET, HDLC 56/60 Datalink layer (contd.) Ethernet (broadcast link) end-system must receive only bits meant for it need datalink-layer address also need to decide who gets to speak next these functions are provided by Medium ACcess sublayer (MAC) Datalink layer protocols are the first layer of software Very dependent on underlying physical link properties Usually bundle both physical and datalink in hardware. 57/60 Network layer L3 Carries data from source to destination. Logically concatenates a set of links to form the abstraction of an end-to-end link Allows an end-system to communicate with any other end-system by computing a route between them Hides idiosyncrasies of datalink layer Provides unique network-wide addresses Found both in end-systems and in intermediate systems 58/60 Network layer types In datagram networks provides both routing and data forwarding In connection-oriented network separate data plane and control plane data plane only forwards and schedules data (touches every byte) control plane responsible for routing, callestablishment, call-teardown (doesn’t touch data bytes) 59/60 Network layer (contd.) Internet network layer is provided by Internet Protocol (IP) found in all end-systems and intermediate systems provides abstraction of end-to-end link segmentation and reassembly packet-forwarding, routing, scheduling unique IP addresses can be layered over anything, but only best-effort service 60/60 Network layer (contd.) At end-systems primarily hides details of datalink layer segments and reassemble detects errors At intermediate systems participates in routing protocol to create routing tables responsible for forwarding packets schedules the transmission order of packets chooses which packets to drop 61/60 Transport layer L4 Reliable end-to-end communication. creates the abstraction of an error-controlled, flow-controlled and multiplexed end-to-end link (Network layer provides only a ‘raw’ end-to-end service) Some transport layers provide fewer services e.g. simple error detection, no flow control, and no retransmission Internet TCP provides error control, flow control, multiplexing UDP provides only multiplexing 62/60 Transport layer (contd.) Error control Flow control GOAL: message will reach destination despite packet loss, corruption and duplication ACTIONS: retransmit lost packets; detect, discard, and retransmit corrupted packets; detect and discard duplicated packets match transmission rate to rate currently sustainable on the path to destination, and at the destination itself Multiplexes multiple applications to the same end-to-end connection adds an application-specific identifier (port number) so that receiving end-system can hand in incoming packet to the correct application 63/60 Session layer Not common Provides full-duplex service, expedited data delivery, and session synchronization Internet doesn’t have a standard session layer 64/60 Session layer (cont.) Duplex Expedited data delivery if transport layer is simplex, concatenates two transport endpoints together allows some messages to skip ahead in end-system queues, by using a separate low-delay transport layer endpoint Synchronization allows users to place marks in data stream and to roll back to a prespecified mark 65/60 Presentation layer Usually ad hoc Touches the application data (Unlike other layers which deal with headers) Hides data representation differences between applications characters (ASCII, unicode, EBCDIC.) Can also encrypt data Internet no standard presentation layer only defines network byte order for 2- and 4-byte integers 66/60 Application layer The set of applications that use the network Doesn’t provide services to any other layer 67/60 עיקרון השכבות Destination Source 3 אפליק 2 אפליק UDP 1 אפליק TCP Network (IPv4) Modem Ethernet Application Transport Network WiFi Data-Link Network 68/60 עיקרון השכבות Destination Source 3 אפליק UDP 2 אפליק 1 אפליק TCP 2 אפליק UDP Network (IPv4) Modem Ethernet 3 אפליק 1 TCP Network (IPv4) WiFi Modem Ethernet WiFi Network 69/60 Discussion Layers break a complex problem into smaller, simpler pieces. Why seven layers? Need a top and a bottom 2 Need to hide physical link; so need datalink 3 Need both end-to-end and hop-by-hop actions; so need at least the network and transport layers 5 70/60 Course outline 1 2 3 Introduction and Layering Data Link: Multi Access Hubs, Bridges and Routers 4 5 6 Scheduling and Buffer Management Switching Fabrics Routing 7 8 9 Reliable Data Transfer End to End Window Based Protocols Flow Control 10 11 12 Multimedia and QoS Network Security Distributed Algorithms 71