* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download csci5211: Computer Networks and Data Communications
Survey
Document related concepts
Net neutrality wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Distributed firewall wikipedia , lookup
Internet protocol suite wikipedia , lookup
Net neutrality law wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Network tap wikipedia , lookup
Computer network wikipedia , lookup
Deep packet inspection wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Airborne Networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Peer-to-peer wikipedia , lookup
Transcript
Introduction: Networking Review Goals: • review key topics from intro networks course – equalize backgrounds – identify remedial work – ease into course Readings: Review your csci5211 or csci4211 textbooks CSci5221: Introduction Review (by yourself): • overview • error control • flow control • congestion control • routing • LANs • addressing • synthesis: – “a day in the life” – control timescales 1 What’s a Network: Key Features Providing certain services Shared resources used by many users, often concurrently Basic building blocks transport goods, mail, information or data 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 CSci5221: Introduction 2 What’s a Network: “Nuts and Bolts” View router • network edge: millions of endsystem devices: – pc’s workstations, servers – PDA’s, phones, toasters running network apps server workstation mobile local net • network core: routers, switches forwarding data regional net – packets: packet switching – calls: circuit switching • communication links – fiber, copper, radio, … CSci5221: Introduction company net 3 A Taxonomy of Communication Networks • Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Circuit-Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Datagram Network CSci5221: Introduction Virtual Circuit Network 4 Broadcast vs. Switched Communication Networks • Broadcast communication networks – Information transmitted by any node is received by every other node in the network • E.g., LANs (Ethernet, Wavelan) – Problem: coordinate the access of all nodes to the shared communication medium (Multiple Access Problem) • Switched communication networks – Information is transmitted to a sub-set of designated nodes • E.g., WANs (Telephony Network, Internet) – Problem: how to forward information to intended node(s) • Done by special nodes (e.g., routers, switches) running routing protocols CSci5221: Introduction 5 Data/Computer Networks Delivery of information (“data”) among computers of all kinds General-Purpose servers, desktops, laptop, PDAs, cell phones, ...... 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 or even “non-electronic” means: e.g., cars, postal services, humans -- e.g., recent “delay-tolerant networks” efforts for 3rd world countries CSci5221: Introduction 6 Circuit Switching End-end resources reserved for “call” • link bandwidth, switch capacity • dedicated resources: no sharing • circuit-like (guaranteed) performance • call setup required CSci5221: Introduction 7 Packet Switching each end-end data stream divided into packets • user A, B packets share network resources • each packet uses full link bandwidth • resources used as needed, Bandwidth division into “pieces” Dedicated allocation Resource reservation CSci5221: Introduction resource contention: • aggregate resource demand can exceed amount available • congestion: packets queue, wait for link use • store and forward: packets move one hop at a time – transmit over link – wait turn at next link 8 Packet Switching vs Circuit Switching: Why? • “reliability” – no congestion, in order data in circuit-switching • packet switching: better bandwidth use • state, resources: packet switching has less state • – good: less control-plane processing resources along the way – More dataplane (address lookup) processing failure modes (routers/links down): – packet switching routing reconfigures sub-second timescale; – circuit-switching: more complex recovery – need to involve all (downstream) switches on path CSci5221: Introduction 9 The Internet • Global scale, general purpose, heterogeneous-technologies, public, computer network • Internet Protocol – Open standard: Internet Engineering Task Force (IETF) as standard body ( http://www.ietf.org ) – Technical basis for other types of networks • Intranet: enterprise IP network • Developed by the research community CSci5221: Introduction 10 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 (1990’s) – Instant messaging, IP Telephony (2000’s) • A medium for information dissemination – USENET (1980’s) – WWW (1990’s) • Replacing newspaper, magazine – Audio, video (2000’s): peer-to-peer systems • Replacing radio, telephony, TV, … CSci5221: Introduction 11 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 CSci5221: Introduction 12 Brief 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, >300 millions computers in 150 countries CSci5221: Introduction 13 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 Jan. 1997 16,146,000 Jan. 1999 56,218,000 Jan. 2001 109,374,000 Jan. 2003 171,638,297 Jul 2004 285,139,107 Jul 2005 353,284,187 CSci5221: Introduction 15 Today’s Internet Internet: “networks of networks” at global scale! International lines NAP Internic 3G cellular networks regional network national network ISP company on-line services ISP university access via modem company LANs WiFi CSci5221: Introduction 16 Internet Network Leveraging Sprint’s SONET-based, gigabit switch Internet backbone Private Peering Ameritech Exchange Point Pacific Bell Exchange Point Private Peering Private Peering Sprint Exchange Point MAE-West Exchange Point Private Peering Private Peering MAE-East Exchange Point Private Peering Private Peering CSci5221: Introduction Private Peering 17 Sprint Network Seattle Tacoma Click here for a closer look at the Sprint network on the East Coast Click here for a closer look at the Sprint network in Washington state Stockton Cheyenne San Jose Click here for a closer look at the Sprint network in Northern California DS3 OC3 OC12 OC48 Legend Kansas City New York Pennsauken Relay Wash. DC Chicago Roachdale Anaheim Atlanta Pearl City in Hawaii is a future network location Fort Worth Orlando CSci5221: Introduction 18 CSci5221: Introduction 19 OC1 (45 Mbps), OC2 (155 Mbps), …, OC192 (10 Gbps) UUNET Global BackBone CSci5221: Introduction 20 UUNET North America Backbone CSci5221: Introduction 21 UUNET Europe CSci5221: Introduction 22 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 CSci5221: Introduction 23 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, • …… CSci5221: Introduction 24 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 CSci5221: Introduction 25 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 Key Challenges in Internet: large, complex, decentralized, ever-evolving, distributed network of networks! CSci5221: Introduction 26 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 / c Transmit = Size / Bandwidth Delay Bandwidth Product: # of bits that can be carried in transit • Reliability, availability, … • Efficiency/overhead of implementation, …… CSci5221: Introduction 27 Network Architecture and Structure • Network components: (edge/core) nodes and links How do we talk about “structure” of network and its architecture? • layered architecture – structure allows identification, relationship of complex system’s pieces: layered reference model for discussion – layer N builds on services provided by layer N-1 – Layer N provides service to layer N+1 • Notions of protocol, service and peer interfaces • physical topology, interconnection CSci5221: Introduction 28 What’s a Protocol? human protocols: • “what’s the time?” • “I have a question” • introductions … specific msgs sent … specific actions taken when msgs received, or other events CSci5221: Introduction network protocols: • machines rather than humans • all communication activity in Internet governed by protocols protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt 29 What’s a Protocol? a human protocol and a computer network protocol: Hi TCP connection req. Hi TCP connection reply. Got the time? Get http://gaia.cs.umass.edu/index.htm 2:00 <file> time CSci5221: Introduction 30 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 Host 1 Service interf ace High-level object Protocol CSci5221: Host 2 Peer-to-peer interf ace Introduction High-level object Protocol 31 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 application transport network link physical • physical: bits “on the wire” CSci5221: Introduction 32 Layering: Logical Communication E.g.: transport • take data from app • add addressing, reliability check info to form “datagram” • send datagram to peer • wait for peer to ack receipt • analogy: post office CSci5221: data application transport transport network link physical application transport network link physical Introduction ack data network link physical application transport network link physical data application transport transport network link physical 33 Layering: Physical Communication data application transport network link physical application transport network link physical CSci5221: Introduction network link physical application transport network link physical data application transport network link physical 34 Internet Hourglass Architecture CSci5221: Introduction 35 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 CSci5221: Introduction 36 Internet Names and Addresses • host and domain names • other “names”: email addresses, URLs, … • IP addresses: logical, with global reachability – IPv4: 32 bits, IPv6: 128 bits, “global” – two-level hierarchy: network part and host part • CIDR: network prefixes, e.g., 128.101.0.0/24 – Network Address Translation (NAT) complicates global reachability • MAC (and other physical-layer) addresses – used and understood by “native” physical technologies! According to Shoch (IEEE COMPCON’78) – name: identifies what you want – address: identifies where it is – route: identifies how to get there CSci5221: Introduction 37 A Closer Look at Network Structure: • network edge: applications and hosts • network core: – routers – network of networks • access networks, physical media: communication links CSci5221: Introduction 38 The Network Edge: • end systems (hosts): – run application programs – e.g., WWW, email – at “edge of network” • client/server model – client host requests, receives service from server – e.g., WWW client (browser)/ server; email client/server • peer-peer model: – host interaction symmetric – e.g.: Gnutella, KaZaA CSci5221: Introduction 39 Network Edge: Connection-Oriented Service Goal: data transfer TCP service [RFC 793] between end sys. • reliable, in-order byte• handshaking: setup stream data transfer (prepare for) data – loss: acknowledgements and transfer ahead of time retransmissions – Hello, hello back human protocol – set up “state” in two communicating hosts • TCP - Transmission Control Protocol – Internet’s connectionoriented service CSci5221: Introduction • flow control: – sender won’t overwhelm receiver • congestion control: – senders “slow down sending rate” when network congested 40 Network Edge: Connectionless Service Goal: data transfer between end systems – same as before! • UDP - User Datagram Protocol [RFC 768]: Internet’s connectionless service – unreliable data transfer – no flow control – no congestion control CSci5221: Introduction App’s using TCP: • HTTP (WWW), FTP (file transfer), Telnet (remote login), SMTP (email) App’s using UDP: • streaming media, teleconferencing, Internet telephony 41 Access Networks and Physical Media Q: How to connect end systems to edge router? • residential access nets • institutional access networks (school, company) • mobile access networks Keep in mind: • bandwidth (bits per second) of access network? • shared or dedicated? CSci5221: Introduction 42 Example Access Net: Home Network Typical home network components: • ADSL or cable modem • router/firewall • Ethernet • wireless access point to/from cable router/ cable modem firewall headend Ethernet (switched) CSci5221: Introduction wireless laptops wireless access point 43 The Network Core • mesh of interconnected routers • the fundamental question: how is data transferred through net? – circuit switching: dedicated circuit per call: telephone net – packet-switching: data sent thru net in discrete “chunks” CSci5221: Introduction 44 Network Core: Routing Goal: move data among routers from source to dest. datagram packet network: – destination address determines next hop – routes may change during session – analogy: driving, asking directions – No notion of call state virtual circuit network: – packet carries tag, tag determines next hop – fixed path (for call) determined at call setup time – routers maintain little per-call state; resources not allocated CSci5221: Introduction circuit-switched network: – call allocated time slots of bandwidth at each link – fixed path (for call) determined at call setup – switches maintain lots of per call state (what?): resource allocation 45 Internet Structure: Network of Networks • roughly hierarchical • at center: “tier-1” ISPs (e.g., UUNet, BBN/Genuity, Sprint, AT&T), national/international coverage – treat each other as equals Tier-1 providers interconnect (peer) privately CSci5221: Tier 1 ISP Tier 1 ISP Introduction NAP Tier-1 providers also interconnect at (public/private) Internet exchange points, or private peering links Tier 1 ISP 46 Internet Structure: Network of Networks • “Tier-2” ISPs: smaller (often regional) ISPs – Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs Tier-2 ISP pays tier-1 ISP for connectivity to rest of Internet tier-2 ISP is customer of tier-1 provider Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP CSci5221: Tier-2 ISP Introduction IXP Tier 1 ISP Tier-2 ISPs also peer privately with each other, interconnect at IXPs Tier-2 ISP Tier-2 ISP 47 Internet Structure: Network of Networks • “Tier-3” ISPs and local ISPs – last hop (“access”) network (closest to end systems) local ISP Tier 3 ISP Tier-2 ISP local ISP local local ISP ISP Tier-2 ISP Local and tier- 3 ISPs Tier 1 ISP are customers of NAP higher tier ISPs Tier 1 ISP connecting Tier 1 ISP them to rest Tier-2 ISP Tier-2 ISP of Internet local local local ISP ISP ISP CSci5221: Introduction Tier-2 ISP local ISP 48 Internet Structure: Network of Networks • a packet passes through many networks! local ISP Tier 3 ISP Tier-2 ISP local local ISP ISP Tier-2 ISP Tier 1 ISP Try a traceroute! Tier 1 ISP Tier-2 ISP local local ISP ISP CSci5221: local ISP Introduction host/network edge: IP addresses, port no’s network core: intra-domain vs. inter-domain routing NAP Tier 1 ISP Tier-2 ISP local ISP Tier-2 ISP local ISP 49 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, …; CSci5221: Introduction 50 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) CSci5221: Introduction 51 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) CSci5221: Introduction 52 Internet Standardization Process • All standards of the Internet are published as RFC • But not all RFCs are Internet Standards • A typical (but not only) way of standardization is: – – – – – • 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.” CSci5221: Introduction 53