* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Introduction
Survey
Document related concepts
Computer security wikipedia , lookup
Airborne Networking wikipedia , lookup
Net neutrality law wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Computer network wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Internet protocol suite wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Packet switching wikipedia , lookup
Deep packet inspection wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Transcript
Modeling and Analysis of Computer Networks Ali Movaghar Winter 2009 Main subjects to be studied A brief history of computer networks, Principal concepts being used in computer networking, Applications of queueing theory to modeling and analysis of computer communication networks Other mathematical modeling of computer networks, State of arts in computer networking, Types of networks of particular interest • • • • • Mobile ad hoc networks Wireless sensor networks Peer-to-peer networks Overlay networks Web Textbooks Main Textbook: • D. Bertsekas and R. Gallager, “Data Networks,” 2nd Ed., Prentice-Hall, Inc., 1992. Secondary Textbooks: • A. Tanenbaum, “Computer Networks,” 4th Ed., PrenticeHall, Inc., 2003. • J.F. Kurose and K.W. Ross, “Computer Networking: A top-down Approach Featuring the Internet,” AddisonWesley, 2000. Other references • Recent papers in computer networking which have appeared in renowned national and international conferences or journals. Grading Policy • • • • Simulation Tools: 10% Research Papers: 25% Midterm Exam: 20% Final Exam: 45% Computer Networks and Distributed Systems Computer networks: A collection of autonomous computers interconnected by a single technology. Two computers are interconnected if they are able to exchange information. Distributed Systems: A collection of independent computers which appears to its users as a single coherent system. It usually has a single model or paradigm that it presents to its users. Often a layer of software on top of the operating system, called middleware, is responsible for implementing this model. Computer Networks: A Brief History and the Future • Why computer networking? • How was it evolved? • What is the impact of computer networking in our life? • The Internet • Wireless mobile computing A History of Computer Systems Mainframes (1944-) Minicomputers (1960-) Personal Computers and Workstations (1970-) The 1st Generation: The tube-based mainframe In 1944 ENIAC (electronic numerical integrator and calculator ) was placed in operation at the Moore School. It had thirty separate units, plus power supply and forced-air cooling, and weighed over thirty tons. It included 19,000 vacuum tubes, 1,500 relays, and hundreds of thousands of resistors, capacitors, and inductors consumed almost 200 kilowatts of electrical power. ENIAC was originally used for ballistics, but played a role in the development of the atomic bomb. The 2nd Generation: Transistor Computer Systems In 1959 The fully transistorized IBM 7090 computer system delivered. The system had computing speeds up to five times faster than those of its predecessor, the IBM 709. It was both a scientific and business machine. The 3rd Generation computers: Multiprocessing and operating systems make the scene In 1965 IBM ships the midrange 360 model 40 computer which had COBOL and FORTRAN programming languages available as well as the stock Basic Assembly Language (BAL) assembler. In 2007 IBM produces the Blue-Gene/P, a system capable of a petaflop (1,000,000 gigaflops or 1,000 teraflops). It sports 73,728 processors comprised of four cores each of IBM’s 850MHz PowerPC 450, resulting in 294,912 cores. The system can be scaled to nearly three times that size, resulting in a 3 petaflop capability and is all hooked up via a high-end optical network. Minicomputers A minicomputer (colloquially, mini) is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multiuser systems (mainframe computers) and the smallest single-user systems (microcomputers or personal computers). A History of Minicomputers The term "mini computer" evolved in the 1960s to describe the "small" third generation computers that became possible with the use of transistor and core memory technologies. They usually took up one or a few cabinets the size of a large refrigerator or two, compared with mainframes that would usually fill a room. The first successful minicomputer was IBM’s 16-bit IBM 1130, which cost from US$32,280 upwards when launched February 11, 1965. Digital Equipment Corporation’s 12-bit PDP-8, which cost from US$16,000 upwards was launched March 22, 1965. Personal Computers and Workstations A personal computer (PC) is any computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator. Throughout the late 1970s and into the 1980s, computers were developed for household use, offering personal productivity, programming and games. Workstations are somewhat larger and more expensive systems (although still low-cost compared with minicomputers and mainframes) were aimed for office and small business use. Time Sharing of Mainframes and Minicomputers Time-sharing refers to sharing a computing resource among many users by multitasking. Because computers in interactive use often spend much of their time idly waiting for user input, it was suggested that multiple users could share a machine by allocating one user's idle time to service other users. Similarly, small slices of time spent waiting for disk, tape, or network input could be granted to other users. History of Time Sharing The concept was first described publicly in early 1957 by Bob Bemer as part of an article in Automatic Control Magazine. The first project to implement a time-sharing system was initiated by John McCarthy in late 1957, on a modified IBM 704, and later an additionally modified IBM 7090 computer. It influenced the design of other early timesharing systems developed by Hewlett Packard, Control Data Corporation, UNIVAC and others (in addition to introducing the BASIC programming language). Computer Networks Computer networks: A collection of autonomous computers interconnected by a single technology. Two computers are interconnected if they are able to exchange information. Network Hardware Network hardware has two important aspects: transmission technology and Scale. There are two types of transmission technologies: broadcast and point to point (switched). Broadcast Networks Broadcast networks have a single communication channel that is shared by all the machines in the network. Multicasting: a mode of broadcasting that supports transmission only to a subset of machines. Point-to-Point (Switched) Computer Networks Point-to-point (Switched) computer networks consist of many connections between individual pairs of machines. To go from the source to the destination, a packet must have to visit one or more intermediate machines. Classification of Computer Networks by Scale Inter-processor distance Processors located in Example same 1m Square meter PAN 10 m Room LAN 100 m Building LAN 1 km Campus LAN 10 km City MAN 100 km Country WAN 1000 km Continent WAN 10000 km Planet The Internet Local Area Networks (LANs) They are distinguished by their transmission technology and their topology. Traditional LANs run at speeds 10Mbps and 100 Mbps, have low delay (microseconds or nanoseconds), and make few errors. Newer LANs operate at up to 10 Gbps. Local Area Networks (LANs) Various topologies are possible for broadcast LANs: Bus and Ring. Examples: Ethernet (IEEE 802.3), token ring (IEEE 802.5), FDDI, Wireless LAN (IEEE 802.11). Bus Ring Metropolitan Area Networks (MANs) Examples: Cable television networks, DQDB, Wireless MAN (IEEE 802.16) Metropolitan Area Networks A metropolitan area network based on cable TV. Wide Area Networks Wide Area Networks or WANs consist of hosts and communication subnet. A communication subnet consists of transmission lines and switching elements. A Taxonomy of Computer Networks Computer networks can be classified based on the way in which the nodes exchange information Computer Networks Switched Computer Networks Circuit-Switched Computer Networks Broadcast Computer Networks Packet-Switched Computer Networks Datagram Networks Virtual Circuit Networks Broadcast vs. Switched Computer Networks Broadcast computer networks information transmitted by any node is received by every other node in the network examples: usually in LANs (Ethernet, Wavelan) Problem: coordinate the access of all nodes to the shared communication medium (Multiple Access Problem) Switched computer networks information is transmitted to a sub-set of designated nodes examples: WANs (Telephony Network, Internet) Problem: how to forward information to intended node(s) this is done by special nodes (e.g., routers, switches) running routing protocols Circuit Switching Three phases circuit establishment data transfer circuit termination If circuit not available: “Busy signal” Examples Telephone networks ISDN (Integrated Services Digital Networks) Timing in Circuit Switching Host 1 Node 1 Node 2 Host 2 processing delay at Node 1 propagation delay between Host 1 and Node 1 Circuit Establishment propagation delay between Host 2 and Host 1 Data Transmission DATA Circuit Termination Circuit Switching A node (switch) in a circuit switching network incoming links Node outgoing links Packet Switching Data are sent as formatted bit-sequences, so-called packets. Packets have the following structure: Header Data Trailer Header and Trailer carry control information (e.g., destination address, checksum) Each packet is passed through the network from node to node along some path (Routing) At each node the entire packet is received, stored briefly, and then forwarded to the next node (Store-and-Forward Networks) Typically no capacity is allocated for packets Packet Switching A node in a packet switching network incoming links Node Memory outgoing links Datagram Packet Switching Each packet is independently switched each packet header contains destination address No resources are pre-allocated (reserved) in advance Example: IP networks Timing of Datagram Packet Switching Host 1 transmission time of Packet 1 at Host 1 Node 1 Packet 1 Host 2 Node 2 propagation delay between Host 1 and Node 2 processing & queueing delay of Packet 1 at Node 2 Packet 2 Packet 1 Packet 3 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Node 6 Node 4 Node 7 Host E Virtual-Circuit Packet Switching Hybrid of circuit switching and packet switching data is transmitted as packets all packets from one packet stream are sent along a pre-established path (=virtual circuit) Guarantees in-sequence delivery of packets However: Packets from different virtual circuits may be interleaved Example: ATM networks Virtual-Circuit Packet Switching Communication with virtual circuits takes place in three phases VC establishment data transfer VC disconnect Note: packet headers don’t need to contain the full destination address of the packet Timing of Virtual Circuit Packet Switching Host 1 Node 1 Host 2 Node 2 propagation delay between Host 1 and Node 1 VC establishment Packet 1 Packet 2 Data transfer Packet 3 Packet 1 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 VC termination Virtual Circuit Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Node 6 Node 4 Node 7 Host E Packet-Switching vs. Circuit-Switching Most important advantage of packet-switching over circuit switching: Ability to exploit statistical multiplexing: efficient bandwidth usage; ratio between peek and average rate is 3:1 for audio, and 15:1 for data traffic However, packet-switching needs to deal with congestion: more complex routers harder to provide good network services (e.g., delay and bandwidth guarantees) In practice they are combined: IP over SONET, IP over Frame Relay Network Software Network Architecture Protocol Hierarchy Layering The number of layers The protocols defined in each layer What is Layering? A technique to organize a network system into a succession of logically distinct entities, such that the service provided by one entity is solely based on the service provided by the previous (lower level) entity. Why Layering? Application Transmission Media Telnet FTP Coaxial cable NFS Fiber optic HTTP Packet radio No layering: each new application has to be re-implemented for every network technology! Why Layering? Solution: introduce an intermediate layer that provides a unique abstraction for various network technologies Application Telnet FTP NFS HTTP Intermediate layer Transmission Media Coaxial cable Fiber optic Packet radio Layering Advantages: Modularity – protocols easier to manage and maintain Abstract functionality –lower layers can be changed without affecting the upper layers Reuse – upper layers can reuse the functionality provided by lower layers Disadvantages: Information hiding – inefficient implementations ISO OSI Reference Model ISO – International Standard Organization OSI – Open System Interconnection Started in 1978; first standard in 1979 ARPANET started in 1969; TCP/IP protocols ready by 1974 Goal: a general open standard Allow vendors to enter the market by using their own implementation and protocols ISO OSI Reference Model Seven layers – – Lower three layers are peer-to-peer Next four layers are end-to-end Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium Application Presentation Session Transport Network Datalink Physical Data Transmission A layer can use only the service provided by the layer immediate below it Each layer may change and add a header to data packet data data data data data data data data data data data data data data Summary: Layering Key technique to implement communication protocols; provides Modularity Abstraction Reuse Key design decision: what functionality to put in each layer? Reference Models The OSI Reference Model The TCP/IP Reference Model A Comparison of OSI and TCP/IP OSI Model Concepts Service – says what a layer does Interface – says how to access the service Protocol – says how is the service implemented A set of rules and formats that govern the communication between two peers Physical Layer (1) Service: move the information between two systems connected by a physical link Interface: specifies how to send a bit Protocol: coding scheme used to represent a bit, voltage levels, duration of a bit Examples: coaxial cable, optical fiber links; transmitters, receivers Data link Layer (2) Service: Framing, i.e., attach frames separator Send data frames between peers attached to the same physical media Others (optional): Arbitrate the access to common physical media Ensure reliable transmission Provide flow control Interface: send a data unit (packet) to a machine connected to the same physical media Protocol: layer addresses, implement Medium Access Control (MAC) (e.g., CSMA/CD)… Network Layer (3) Service: Deliver a packet to specified destination Perform segmentation/reassemble (fragmentation/defragmentation) Others: Packet scheduling Interface: send a packet to a specified destination Protocol: define global unique addresses; construct routing tables Buffer management Data and Control Planes Data plane: concerned with Packet forwarding Buffer management Packet scheduling Control Plane: concerned with installing and maintaining state for data plane Example: Routing Data plane: use Forwarding Table to forward packets Control plane: construct and maintain Forwarding Tables (e.g., Distance Vector, Link State protocols) Fwd table Fwd table H1 H2 R6 … H2 R4 … H2 R4 R1 R3 R2 R6 R5 Transport Layer (4) Service: Provide an error-free and flow-controlled end-to-end connection Multiplex multiple transport connections to one network connection Split one transport connection in multiple network connections Interface: send a packet to specify destination Protocol: implement reliability and flow control Examples: TCP and UDP Session Layer (5) Service: Full-duplex Access management, e.g., token control Synchronization, e.g., provide check points for long transfers Interface: depends on service Protocols: token management; insert checkpoints, implement roll-back functions Presentation Layer (6) Service: convert data between various representations Interface: depends on service Protocol: define data formats, and rules to convert from one format to another Application Layer (7) Service: any service provided to the end user Interface: depends on the application Protocol: depends on the application Examples: FTP, Telnet, WWW browser Summary: Layering Key technique to implement communication protocols; provides Modularity Abstraction Reuse Key design decision: what functionality to put in each layer? Design Issues for the Layers • • • • • Addressing Error Control Flow Control Multiplexing Routing Connection-Oriented and Connectionless Services Six different types of service. Service Primitives Five service primitives for implementing a simple connectionoriented service. Service Primitives (2) Packets sent in a simple client-server interaction on a connection-oriented network. Services to Protocols Relationship The relationship between a service and a protocol. Reference Models (2) The TCP/IP reference model. Reference Models (3) Protocols and networks in the TCP/IP model initially. Comparing OSI and TCP/IP Models Concepts central to the OSI model • Services • Interfaces • Protocols A Critique of the OSI Model and Protocols Why OSI did not take over the world • Bad timing • Bad technology • Bad implementations • Bad politics Bad Timing The apocalypse of the two elephants. A Critique of the TCP/IP Reference Model Problems: • Service, interface, and protocol not distinguished • Not a general model • Host-to-network “layer” not really a layer • No mention of physical and data link layers • Minor protocols deeply entrenched, hard to replace Hybrid Model The hybrid reference model to be used in this book. Example Networks • The Internet • Connection-Oriented Networks: X.25, Frame Relay, and ATM • Ethernet • Wireless LANs: 802:11 The ARPANET (a) Structure of the telephone system. (b) Baran’s proposed distributed switching system. The ARPANET The original ARPANET design. The ARPANET Growth of the ARPANET (a) December 1969. (b) July 1970. (c) March 1971. (d) April 1972. (e) September 1972. NSFNET The NSFNET backbone in 1988. Traditional Internet Usage (1970-1990) E-mail News Remote login File transfer Services Provided by the Internet Shared access to computing resources Telnet (1970’s) Shared access to data/files FTP, NFS, AFS (1980’s) Communication medium over which people interact Email (1980’s), on-line chat rooms, instant messaging (1990’s) Audio, video (1990’s) Replacing telephone network? A medium for information dissemination USENET (1980’s) WWW (1990’s) Replacing newspaper, magazine? Audio, video (2000’s) Replacing radio, CD, TV? Architecture of the Internet Overview of the Internet. The Internet Global scale, general purpose, heterogeneoustechnologies, public, computer network Internet Protocol Open standard: Internet Engineering Task Force (IETF) as standard body Technical basis for other types of networks Intranet: enterprise IP network Developed by the research community History of the Internet 70’s: started as a research project, 56 kbps, < 100 computers 80-83: ARPANET and MILNET split, 85-86: NSF builds NSFNET as backbone, links 6 Supercomputer centers, 1.5 Mbps, 10,000 computers 87-90: link regional networks, NSI (NASA), ESNet(DOE), DARTnet, TWBNet (DARPA), 100,000 computers 90-92: NSFNET moves to 45 Mbps, 16 mid-level networks 94: NSF backbone dismantled, multiple private backbones Today: backbones run at 10 Gbps, 10s millions computers in 150 countries Time Line of the Internet •Source: Internet Society Growth of the Internet Number of Hosts on the Internet: Aug. 1981 213 Oct. 1984 1,024 Dec. 1987 28,174 Oct. 1990 313,000 Oct. 1993 2,056,000 Apr. 1995 5,706,000 Jul. 1997 19,540,000 Jul. 1999 56,218,000 Jul. 2001 125,888,197 Jul. 2002 162,128,493 1000000000 100000000 10000000 1000000 100000 10000 1000 100 10 1 1981 1984 1987 1990 1993 1996 1999 2002 Recent Growth (1991-2002) Internet Users 1995-2004 DATE NUMBER OF USERS % WORLD POPULATION INFORMATION SOURCE December, 1995 16 millions 0.4 % IDC December, 1996 36 millions 0.9 % IDC December, 1997 70 millions 1.7 % IDC December, 1998 147 millions 3.6 % C.I. Almanac December, 1999 248 millions 4.1 % Nua Ltd. March, 2000 304 millions 5.0 % Nua Ltd. July, 2000 359 millions 5.9 % Nua Ltd. December, 2000 361 millions 5.8 % Internet World Stats March, 2001 458 millions 7.6 % Nua Ltd. June, 2001 479 millions 7.9 % Nua Ltd. August, 2001 513 millions 8.6 % Nua Ltd. April, 2002 558 millions 8.6 % Internet World Stats July, 2002 569 millions 9.1 % Internet World Stats September, 2002 587 millions 9.4 % Internet World Stats March, 2003 608 millions 9.7 % Internet World Stats September, 2003 677 millions 10.6 % Internet World Stats October, 2003 682 millions 10.7 % Internet World Stats December, 2003 719 millions 11.1 % Internet World Stats February, 2004 745 millions 11.5 % Internet World Stats May, 2004 757 millions 11.7 % Internet World Stats October, 2004 812 millions 12.7 % Internet World Stats December, 2004 817 millions 12.7 % Internet World Stats Internet Users 2005-2008 DATE NUMBER OF USERS % WORLD POPULATION INFORMATION SOURCE March, 2005 888 millions 13.9 % Internet World Stats June, 2005 938 millions 14.6 % Internet World Stats September, 2005 957 millions 14.9 % Internet World Stats November, 2005 972 millions 15.2 % Internet World Stats December, 2005 1,018 millions 15.7 % Internet World Stats March, 2006 1,023 millions 15.7 % Internet World Stats June, 2006 1,043 millions 16.0 % Internet World Stats Sept, 2006 1,086 millions 16.7 % Internet World Stats Dec, 2006 1,093 millions 16.7 % Internet World Stats Mar, 2007 1,129 millions 17.2 % Internet World Stats June, 2007 1,173 millions 17.8 % Internet World Stats Sept, 2007 1,245 millions 18.9 % Internet World Stats Dec, 2007 1,319 millions 20.0 % Internet World Stats Mar, 2008 1,407 millions 21.1 % Internet World Stats June, 2008 1,463 millions 21.9 % Internet World Stats Recent Growth (1995-2008) Internet Physical Infrastructure ISP Residential Access – – – – Modem DSL Cable modem Satellite Backbone Enterprise/ISP access, Backbone transmission ISP Campus network – Ethernet, ATM Internet Service Providers – – T1/T3, DS-1 DS-3 OC-3, OC-12 – ATM vs. SONET, vs. WDM – – – access, regional, backbone Point of Presence (POP) Network Access Point (NAP) Who is Who in the Internet ? Internet Engineering Task Force (IETF): The IETF is the protocol engineering and development arm of the Internet. Subdivided into many working groups, which specify Request For Comments or RFCs. IRTF (Internet Research Task Force): The Internet Research Task Force is a composed of a number of focused, long-term and small Research Groups. Internet Architecture Board (IAB): The IAB is responsible for defining the overall architecture of the Internet, providing guidance and broad direction to the IETF. The Internet Engineering Steering Group (IESG): The IESG is responsible for technical management of IETF activities and the Internet standards process. Standards. Composed of the Area Directors of the IETF working groups. Internet Standardization Process All standards of the Internet are published as RFC (Request for Comments). But not all RFCs are Internet Standards ! A typical (but not only) way of standardization is: available: http://www.ietf.org Internet Drafts RFC Proposed Standard Draft Standard (requires 2 working implementation) Internet Standard (declared by IAB) David Clark, MIT, 1992: "We reject: kings, presidents, and voting. We believe in: rough consensus and running code.” ATM Virtual Circuits A virtual circuit. ATM Virtual Circuits (2) An ATM cell. The ATM Reference Model The ATM reference model. The ATM Reference Model (2) The ATM layers and sublayers and their functions. Ethernet Architecture of the original Ethernet. Wireless LANs (a) Wireless networking with a base station. (b) Ad hoc networking. Wireless LANs (2) The range of a single radio may not cover the entire system. Wireless LANs (3) A multicell 802.11 network. Network Standardization • • • Who’s Who in the Telecommunications World Who’s Who in the International Standards World Who’s Who in the Internet Standards World ITU • Main sectors • • • • Radio communications Tele-communications Standardization Development Classes of Members • • • • National governments Sector members Associate members Regulatory agencies IEEE 802 Standards The 802 working groups. The important ones are marked with *. The ones marked with are hibernating. The one marked with † gave up. Metric Units The principal metric prefixes.