1 / 52

Internet Engineering Course

Internet Engineering Course. Introduction to Networking. Contents. What is (computer/data) network? Statistical multiplexing Packet switching Layering and End-to-End Arguments OSI Model and Internet Architecture A short history of Internet. What is a Network?.

rafiki
Download Presentation

Internet Engineering Course

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Internet Engineering Course Introduction to Networking

  2. Contents • What is (computer/data) network? • Statistical multiplexing • Packet switching • Layering and End-to-End Arguments • OSI Model and Internet Architecture • A short history of Internet Introduction

  3. What is a Network? There are many types of networks! • Transportation Networks • Transport goods using trucks, ships, airplanes, … • Postal Services • Delivering letters, parcels, etc. • Broadcast and cable TV networks • Telephone networks • Internet • “Social/Human networks” • … Introduction

  4. Key Features of Networks • Providing certain services • transport goods, mail, information or data • Shared resources • used by many users, often concurrently • Basic building blocks • nodes (active entities): process and transfer goods/data • links (passive medium): passive “carrier” of goods/data • Typically “multi-hop” • two “end points” cannot directly reach each other • need other nodes/entities to relay Introduction

  5. Data/Computer Networks • Delivery of information (“data”) among computers of all kinds • servers, desktops, laptop, PDAs, cell phones, ...... • General-Purpose • Not for specific types of data or groups of nodes, or using specific technologies • Utilizing a variety of technologies • “physical/link layer” technologies for connecting nodes • copper wires, optical links, wireless radio, satellite Introduction

  6. How to Build Data/Computer Networks Two possibilities • infrastructure-less (ad hoc, peer-to-peer) • (end) nodes also help other (end) nodes, i.e., peers, to relay data • infrastructure-based • use special nodes (switches, routers, gateways) to help relay data Introduction

  7. base station (a) (b) Connectivity and Inter-networking • Point-to-point vs. • broadcast links/ wireless media • switched networks • connecting “clouds”(existing physical networks) • inter-networking using gateways, virtual tunnels, … Introduction

  8. Resource Sharing in Switched Networks Multiplexing Strategies • Circuit Switching • set up a dedicated route (“circuit”) first • carry all bits of a “conversation” on one circuit • original telephone network • Analogy: railroads and trains • Packet Switching • divide information into small chunks (“packets”) • each packet delivered independently • “store-and-forward” packets • Internet (also Postal Service, but they don’t tear your mail into pieces first!) • Analogy: highways and cars Introduction

  9. Common Circuit Switching Methods Sharing of network resources among multiple users • Common multiplexing strategies for circuit switching • Time Division Multiplexing Access (TDMA) • Frequency Division Multiplexing Access (FDMA) • Code Division Multiplexing Access (CDMA) • What happens if running out of circuits? Introduction

  10. Packet Switching & Statistical Multiplexing Packet Switching, used in computer/data networks, relies on statistical multiplexing for cost-effective resource sharing • Time division, but on demand rather than fixed • Reschedule link on a per-packet basis • Packets from different sources interleaved on the link • Buffer packets that are contending for the link • Buffer buildup is called congestion Introduction

  11. Why Statistically Share Resources Efficient utilization of the network • Example scenario • Link bandwidth: 1 Mbps • Each call requires 100 Kbps when transmitting • Each call has data to send only 10% of time • Circuit switching • Each call gets 100 Kbps: supports 10 simultaneous calls • Packet switching • Supports many more calls with small probability of contention • 35 ongoing calls Introduction

  12. Circuit Switching vs Packet Switching Introduction

  13. Inter-Process Communication • Turn host-to-host connectivity into process-to-process communication • Fill gap between what applications expect and what the underlying technology provides • multiplexing vs. demultiplexing Introduction

  14. Fundamental Issues in Networking Networking is more than connecting nodes! • Naming/Addressing • How to find name/address of the party (or parties) you would like to communicate with • Address: bit- or byte-string that identifies a node • Types of addresses • Unicast: node-specific • Broadcast: all nodes in the network • Multicast: some subset of nodes in the network • Routing/Forwarding: • process of determining how to send packets towards the destination based on its address • Finding out neighbors, building routing tables Introduction

  15. Other Key Issues in Networking • Detecting whether there is an error! • Fixing the error if possible • Deciding how fast to send, meeting user demands, and managing network resources efficiently • Make sure integrity and authenticity of messages, • …… Introduction

  16. Fundamental Problems in Networking … What can go wrong? • Bit-level errors: due to electrical interferences • Packet-level errors: packet loss due to buffer overflow/congestion • Out of order delivery: packets may takes different paths • Link/node failures: cable is cut or system crash • Others: e.g., malicious attacks Introduction

  17. Fundamental Problems in Networking What can be done? • Add redundancy to detect and correct erroneous packets • Acknowledge received packets and retransmit lost packets • Assign sequence numbers and reorder packets at the receiver • Sense link/node failures and route around failed links/nodes Goal: to fill the gap between what applications expect and what underlying technology provides Introduction

  18. Key Performance Metrics • Bandwidth (throughput) • data transmitted per time unit • link versus end-to-end • Latency (delay) • time to send message from point A to point B • one-way versus round-trip time (RTT) • components Latency = Propagation + Transmit + Queue Propagation = Distance / Speed of Light Transmit = Size / Bandwidth Delay Bandwidth Product: # of bits that can be carried in transit • Reliability, availability, … • Efficiency/overhead of implementation, …… Introduction

  19. How to Build Data Networks (cont’d) Bridging the gap between • what applications expect • reliable data transfer • response time, latency • availability, security …. • what (physical/link layer) technologies provide • various technologies for connecting computers/devices applications Web Email File Sharing Multimedia Coaxial Cable Optical Fiber Wireless Radio technologies Introduction

  20. Web Email Skype KaZaa Coaxial Cable Optical Fiber Wireless Radio The Problem • Do we re-implement every application for every technology? • Obviously not, but how does the Internet architecture avoid this? Application Transmission Media Introduction

  21. Architectural Principles What is (Network) Architecture? • not the implementation itself • “design blueprint” on how to “organize” implementations • what interfaces are supported • where functionality is implemented • Two (Internet) Architectural Principles • Layering • how to break network functionality into modules • End-to-End Arguments • where to implement functionality Introduction

  22. with layering Web Email Skype KaZaa intermediate layers without layering Coaxial Cable Optical Fiber Wireless Radio Web Email Skype KaZaa apps Coaxial Cable Optical Fiber Wireless Radio media Layering Layering is a particular form of modularization • system is broken into a vertical hierarchy of logically distinct entities (layers) • each layer use abstractions to hide complexity • can have alternative abstractions at each layer Introduction

  23. ISO OSI Network Architecture Introduction

  24. OSI Model Concepts • Service: what a layer does • Service interface: how to access the service • interface for layer above • Peer interface (protocol): how peers communicate • a set of rules and formats that govern the communication between two network boxes • protocol does not govern the implementation on a single machine, but how the layer is implemented between machines Introduction

  25. Protocols and Interfaces • Protocols: specification/implementation of a “service” or “functionality” • Each protocol object has two different interfaces • service interface: operations on this protocol • peer-to-peer interface: messages exchanged with peer Introduction

  26. Who Does What? • Seven layers • Lower three layers are implemented everywhere • Next four layers are implemented only at hosts Host A Host B Application Application Presentation Presentation Session Session Router Transport Transport Network Network Network Datalink Datalink Datalink Physical Physical Physical Physical medium Introduction

  27. Logical vs. Physical Communications • Layers interacts with corresponding layer on peer • Communication goes down to physical network, then to peer, then up to relevant layer Introduction

  28. Encapsulation • 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 Layering adds overhead! data data data data data data data data data data data data data data Introduction

  29. Telnet FTP DNS TCP UDP IP Packet radio LAN OSI vs. Internet • OSI: conceptually define services, interfaces, protocols • Internet: provide a successful implementation Application Application Presentation Session Transport Transport Network Internet Datalink Net access/ Physical Physical Internet (informal) OSI (formal) Introduction

  30. Hourglass Introduction

  31. Implications of Hourglass A single Internet layer module: • Allows all networks to interoperate • all networks technologies that support IP can exchange packets • Allows all applications to function on all networks • all applications that can run on IP can use any network • Simultaneous developments above and below IP Introduction

  32. RealVideo RealAudio Telnet HTTP NFS/Sun RPC DNS FTP SMTP application Internet Protocol “Zoo” Introduction

  33. Benefits/Drawbacks of Layering • Benefits of layering • Encapsulation/informing hiding • Functionality inside a layer is self-contained; • one layer does not need to know how other layers are implemented • Modularity • can be replaced without impacting other layers • Lower layers can be re-used by higher layer • Consequences: • Applications do not need to do anything in lower layers; • information about network hidden from higher layers (applications in particular) • Drawbacks? • Obviously, too rigid, may lead to inefficient implementation Introduction

  34. Reality Check • Layering is a convenient way to think about networks • But layering is often violated • Firewalls • Transparent caches • NAT boxes • ....... • What problems does this cause? • What is an alternative to layers? Introduction

  35. Basic Observation • Some applications have end-to-end performance requirements • reliability, security, etc. • Implementing these in the network is very hard: • every step along the way must be fail-proof • The hosts: • can satisfy the requirement without the network • can’t depend on the network Introduction

  36. OK Example: Reliable File Transfer • Solution 1: make each step reliable, and then concatenate them • Solution 2: end-to-end check and retry Host A Host B Appl. Appl. OS OS Introduction

  37. Example (cont’d) • Solution 1 not complete • What happens if any network element misbehaves? • The receiver has to do the check anyway! • Solution 2 is complete • Full functionality can be entirely implemented at application layer with no need for reliability from lower layers Introduction

  38. End-to-End Argument According to [Saltzer84]: • “…sometimes an incomplete version of the function provided by the communication system (lower levels) may be useful as a performance enhancement…” • This leads to a philosophy diametrically opposite to the telephone world of “dumb” end-systems (the telephone) and “intelligent” networks. Introduction

  39. Internet & End-to-End Argument • network layer provides one simple service: best effort datagram (packet) delivery • transport layer at network edge (TCP) provides end-end error control • performance enhancement used by many applications (which could provide their own error control) • all other functionalities … • all application layer functionalities • network services: DNS implemented at application level Introduction

  40. Original Internet Design Goals In order of importance: • Connect existing networks • initially ARPANET and ARPA packet radio network • Survivability • ensure communication service even with network and router failures • Support multiple types of services • Must accommodate a variety of networks • Allow distributed management • Allow host attachment with a low level of effort • Be cost effective • Allow resource accountability Introduction

  41. Today’s Internet Internet: “networks of networks” at global scale! International lines NAP Internic 3G cellular networks regional network national network on-line services ISP ISP company university access via modem company LANs WiFi Introduction

  42. Summary • Computer networks use packet switching • Fundamental issues in networking • Addressing/Naming and Routing/Forwarding • Error/Flow/Congestion control • Layered architecture and protocols • Internet is based on TCP/IP protocol suite • Networks of networks! • Shared, distributed and complex system in global scale • No centralized authority Introduction

  43. Who Runs the Internet “nobody” really! • standards: Internet Engineering Task Force (IETF) • names/numbers: The Internet Corporation for Assigned Names and Numbers (ICANN) • operational coordination: IEPG(Internet Engineering Planning Group) • networks: ISPs (Internet Service Providers), NAPs (Network Access Points), …… • fibers: telephone companies (mostly) • content: companies, universities, governments, individuals, …; Introduction

  44. Internet “Governing” Bodies • Internet Society (ISOC): membership organization • raise funds for IAB, IETF& IESG, elect IAB • Internet Engineering Task Force (IETF): • a body of several thousands or more volunteers • organized in working groups (WGs) • meet three times a year + email • Internet Architecture Board • architectural oversight, elected by ISOC • Steering Group (IESG): approves standards, • Internet standards, subset of RFC • RFC: “Request For Comments”, since 1969 • most are not standards, also • experimental, informational and historic(al) Introduction

  45. Internet Names and Addresses • Internet Assigned Number Authority (IANA): • keep track of numbers, delegates Internet address assignment • designates authority for each top-level domain • InterNIC, gTLD-MOU, CORE: • hand out names • provide “root DNS service” • RIPE, ARIN, APNIC: • hand out blocks of addresses Many responsibilities (e.g., those of IANA) are now taken over by the Internet Corporation for Assigned Names and Numbers (ICANN) Introduction

  46. Origin of Internet? Started by U.S. research/military organizations: • Three Major Actors: • DARPA: Defense Advanced Research Projects Agency • funds technology with military goals • DoD: U.S. Department of Defense • early adaptor of Internet technology for production use • NSF: National Science Foundation • funds university Introduction

  47. A Brief History of Internet The Dark Age before the Internet: before 1960 • 1830: telegraph • 1876: circuit-switching (telephone) • TV (1940?) , and later cable TV (1970s) The Dawn of the Internet: 1960s • early 1960’s: concept of packet switching (Leonard Kleinrock, Paul Baran et al) • 1965: MIT’s Lincoln Laboratory commissions Thomas Marill to study computer networking • 1968: ARPAnet contract awarded to Bolt Beranek and Newman (BBN) • Robert Taylor (DARPA program manager) • BoB Kahn (originally MIT) and the team at BBN built the first router (aka IMP) Introduction

  48. A Brief History of Internet … • 1969: ARPAnet has 4 nodes (UCLA, SRI, UCSB, U. Utah) • UCLA team: Len Kleinrock, Vincent Cerf, Jon Postel, et al Early Days of the Internet: 1970s • multiple access networks (i.e., LANs): ALOHA, Ethernet(10Mb/s) • companies: DECnet (1975), IBM SNA (1974) • 1971: 15 nodes and 23 hosts: UCLA, SRI, UCSB, U. Utah, BBN, MIT, RAND, SDC, Harvard, Lincoln Lab, Stanford, UIUC, CWRU, CMU, NASA/Ames • 1972: First public demonstration at ICCC • 1973: TCP/IP design • 1973: first satellite link from California to Hawwii Introduction

  49. A Brief History of Internet … • 1973:first international connections to ARPAnet: England and Norway • 1978: TCP split into TCP and IP • 1979: ARPAnet: approx. 100 nodes The Internet Coming of Age: 1980s • proliferation of local area networks: Ethernet and token rings • late 1980s: fiber optical networks; FDDI at 100 Mbps • 1980’s: DARPA funded Berkeley Unix, with TCP/IP • 1981: Minitel deployed in France • 1981: BITNET/CSNet created • 1982: Eunet created (European Unix Network) • Jan 1, 1983: flag day, NCP -> TCP Introduction

  50. A Brief History of Internet … • 1983: split ARAPNET (research), MILNET • 1983: Internet Activities Board (IAB) formed • 1984: Domain Name Service replaces hosts.txt file • 1986: Internet Engineering/Research Task Force created • 1986: NSFNET created (56kbps backbone) • 1987: UUNET founded • Nov 2, 1988: Internet worm, affecting ~6000 hosts • 1988: Internet Relay Chat (IRC) developed by Jarkko Oikarinen • 1988: Internet Assigned Numbers Authority (IANA) established • 1989: Internet passes 100,000 nodes • 1989: NSFNET backbone upgraded to T1 (1.544 Mpbs) • 1989: Berners-Lee invented WWW at CERN Introduction

More Related