* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Lecture 2 - Lane Department of Computer Science and Electrical
Wake-on-LAN wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Distributed firewall wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Computer network wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Airborne Networking wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Network tap wikipedia , lookup
Deep packet inspection wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
CS 453 Computer Networks Lecture 2 A little History Computer networking had some origins in the 1950s Mostly phone circuits to connect remote IO devices (card readers, line printers) to mainframe computers It was the Cold War and the military used the national phone network The phone network was built central switches (i.e. many single points of failure The Defense Department wants a communications system that was not vulnerable to nuclear attack. A Little History Rand Corp (Baran) came up with a fault tolerant network design A Little History The Defense Department asked AT&T to build the Rand design AT&T refused So that was the end of that, right? A Little History In 1968 ARPA asked BBN to build an prototype network based on the RAND design… … interconnecting a small number of dedicated communications minicomputers …at 56Kbps …which at the time very fast …but how could computers be connected with such a network? A Little History In 1969 ARPA invited researchers (mostly graduate students) to a conference ARPA presented their idea of a computer network based on the packet switching model The grad students took on the task… … and in December 1969 ARPANET was born The Birth and Growth of ARPANET From Tanenbaum (2003) pg. 53 A Little History ARPANET was DoD sponsored but most participants were universities Participating universities were able to collaborate on research and share data unlike before The National Science Foundation noticed … and built NSFNET … the successor to ARPANET A Little History NSFNET primarily interconnected NSF sponsored Supercomputing Centers (i.e. Pittsburgh, Illinois, San Diego NSFNet started at 448Kbps then,1.5 Mbps Upgraded to 45 Mbps Followed by VBNS …Internet2/Abilene – 1Gbps …Internet2/Newnet – 10 Gbps …NLR – multiple 10 Gbps The Internet …a network of networks Conceptual Schematic of the Internet From Tanenbaum (2003) pg. 58 Unicasting Multicasting Local Area Network on Wide Area Infrastructure Comment about the subnet From Tanenbaum 2003 Network Software How would you write software to implement a computer network Consider our two machine scenario …and simple hardware interface like a com port Implement SLIP Suppose you have to implement this in your application program… Network Software What are the implications of this? What if you had to develop another network application? Could you reuse your software interface? What if your original application stayed the same, but your hardware interface changes – say from a serial com port to a USB port? Or SuperDuperNet? Network Software Solution – modularize your software ..or more specifically create software layers Layers should isolate functionality in conceptually and developmentally significant ways Separate out what each layer needs to do and know and only share what the neighbor layers need to know, to do what they have to do Network Software Layers functions at virtual channels Virtually connect to the network partner Layers sometime call a stack, why? Modules or layers must define Services – what can each layer do Interface – the mechanism to evoke the services of a layer from an adjacent layer Protocol – the rules or policies for how layers interact with each other Network Software Consider a simple three layer stack Hardware layer Driver layer Applications layer What does each layer expose, to what? Network Software Network Architecture Layer requirements Services – what does the network layer implementation do Layer functionality Services like “send data” “receive data” Interfaces – how does one layer evoke the services of another layer Think API, function calls, etc Protocols – the set of rules and policies that make layers and devices work well together ... Data must be in packets of 128 bytes with an eight byte address… Network Architecture Logically layers communicate with their corresponding layers in another host In reality layers talk to neighboring layers and only really pass messages in the physical layer For example, A program on host A wants to send data to a program on host B It seems that the application programs communication with each other Or it looks like the driver layers talk to each other But, really… Network Architecture … The program on host A sends the message to the application layer on host A… The application layer on host A sends the message to the driver layer on host A… The driver layer on host A sends the message to the physical layer on host A The physical layer on host A send the data to the physical layer on host B… The physical layer on host B sends the data to the driver layer on host B… The driver layer on host B sends the data to the applications layer on host B… The applications layer on host B sends the data to the program on host B… The program on host B processes the data in the message Network Message Flow Host A Host B Program Program Application Layer Application Layer Driver Layer Driver Layer Physical Layer Physical Layer Network Architecture Concepts So how does make sure that different hosts can “understand” each other Protocols Reference Models Standards Network Architecture Concepts Reference model – a high level abstraction of computing system …serves as a framework for the development of more specific models and specifications Provides a framework to get everyone on the “same page” Von Neumann architecture is a reference model for conventional digital computers OSI Reference Model OSI or Open Systems Interconnection Reference Model Developed by the International Standards Organization (ISO) Defines seven layers See http://en.wikipedia.org/wiki/OSI_Model OSI Reference Model From Tanenbaum, 2003 OSI Reference Model Layer 1 – Physical layer Lowest layer – concern with the transmission data in its raw form This is physical media layer Twisted pair copper Fiber optics Wireless Include interfaces devices – ethernet adapters, HCA/HBA, hubs and switches OSI Reference Model Layer 2 – Data-Link layer Concerned with flowing data across a network link Packages data into frames/extracts data from frames Sublayers manage media access control (i.e. ethernet) OSI Reference Model Layer 3 – Network Layer Concerned with the network aspect of data delivery Switching, routing Creating addressed packets IP addresses added here Network routing controlled in this layer IP lives in this layer OSI Reference Model Layer 4 – Transport Layer Concerned with shipping and receiving complete messages Deals with out of order packets, lost packets, etc. TCP and UDP live in this layer OSI Reference Layer Layer 5 – Session Layer Responsible for managing network sessions … between senders and receivers OSI Reference Model Layer 6 – Presentation Layer Converts message from the way the network wants them to the way the application wants them Repackages a network message into an application record Repackages an application record into a network message OSI Reference Model Layer 7 – Application Layer Delivers messages to application/takes messages from applications Can be an application… Or can service an application SMTP, DNS, FTP and HTTP are Layer 7 protocols TCP Reference Model From Tanenbaum, 2003 TCP Reference Model Much more to come OSI and TCP/IP Reference Models …so where are they today Networking Standards So why can all of these devices from different vendors in different countries interoperate? Standards Lack of standards – a big problem – most of the time – consider wireless networking Standards can be – Per company Per country International More concrete, specific than reference models Networking Standards Usually, starts with an identified problem domain The a proposed or draft standard A review and comment process Adoption of the standards Standards Organizations Telecommunications ITU-T (previously known as CCITT) About 200 government members About 500 industry members Networking (International Standards ISO (International Standards Organization) Members are national standards body US = ANSI, GB=BSI, France=AFNOR, Germany=DIN 89 or so countries Standards Organizations NIST (National Institute of Standards and Technology) U.S. Dept. of Commerce Primarily concerned with government standards, except DoD IEEE IEEE Standards From Tanenbaum, 2003 Internet Standards The Internet Society (ISOC) The Internet Architecture Board (IAB) The Internet Engineering Task Force (IETF) The Internet Research Task Force (IRTF) ICANN Internet Corporation for Assigned Names and Numbers