COSC6377: Computer Networks Rong Zheng rzheng@cs.uh.edu Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Introduction 1-1 Introduction Overview of the course Basic concepts and structures in computer networking Network architecture Introduction 1-2 What’s the Internet: “nuts and bolts” view End systems Host computer Network applications Access networks Local area networks communication links router server workstation mobile local ISP regional ISP Network core: routers network of networks company network Introduction 1-3 What’s the Internet: “nuts and bolts” view Protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt router server mobile local ISP e.g., TCP, IP, HTTP, FTP, PPP Internet: “network of networks” workstation regional ISP loosely hierarchical public Internet versus private intranet Internet standards RFC: Request for comments IETF: Internet Engineering Task Force company network Introduction 1-4 Network Components (Examples) Links Interfaces Fibers Ethernet card Switches/routers Large router Wireless card Coaxial Cable Switch Introduction 1-5 Introduction 1-6 Internet structure: network of networks roughly hierarchical at center: “tier-1” ISPs (e.g., MCI, Sprint, AT&T, Cable and Wireless), national/international coverage treat each other as equals Tier-1 providers interconnect (peer) privately Tier 1 ISP Tier 1 ISP NAP Tier-1 providers also interconnect at public network access points (NAPs) Tier 1 ISP Introduction 1-7 Tier-1 ISP: e.g., Sprint Sprint US backbone network DS3 (45 Mbps) OC3 (155 Mbps) OC12 (622 Mbps) OC48 (2.4 Gbps) Seattle Tacoma Stockton San Jose Cheyenne Kansas City New York Pennsauken Relay Wash. DC Chicago Roachdale Anaheim Atlanta Fort Worth Orlando Introduction 1-8 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-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP NAP Tier 1 ISP Tier-2 ISPs also peer privately with each other, interconnect at NAP Tier-2 ISP Tier-2 ISP Introduction 1-9 Internet structure: network of networks “Tier-3” ISPs and local ISPs last hop (“access”) network (closest to end systems) local ISP Local and tier3 ISPs are customers of higher tier ISPs connecting them to rest of Internet Tier 3 ISP Tier-2 ISP local ISP local ISP local ISP Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP local local ISP ISP NAP Tier 1 ISP Tier-2 ISP local ISP Tier-2 ISP local ISP Introduction 1-10 Internet structure: network of networks a packet passes through many networks! local ISP Tier 3 ISP Tier-2 ISP local ISP local ISP local ISP Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP local local ISP ISP NAP Tier 1 ISP Tier-2 ISP local ISP Tier-2 ISP local ISP Introduction 1-11 Protocol “Layers” Networks are complex! many “pieces”: hosts routers links of various media applications protocols hardware, software Question: Is there any hope of organizing structure of network? Or at least our discussion of networks? Introduction 1-12 An Imaginary 2-tier Application Transmission Media SMTP SSH Coaxial cable FTP Fiber optic HTTP Packet radio New application has to interface to all existing media adding new application requires O(m) work, m = number of media New media requires all existing applications be modified adding new media requires O(a) work, a = number of applications Total work in system O(ma) eventually too much work to add apps/media Application end points may not be on the same media! Introduction 1-13 Solution: Indirection Solution: introduce an intermediate layer that provides a single abstraction for various network technologies O(1) work to add app/media Indirection is an often used technique in computer science SSH NFS HTTP SMTP Application Intermediate layer Transmission Media Coaxial cable Fiber optic 802.11 LAN Introduction 1-14 Network Architecture Architecture is not the implementation itself Architecture is how to “organize” implementations what interfaces are supported where functionality is implemented Architecture is the modular design of the network Introduction 1-15 Software Modularity Break system into modules: Well-defined interfaces gives flexibility can change implementation of modules can extend functionality of system by adding new modules Interfaces hide information allows for flexibility but can hurt performance Introduction 1-16 Network Modularity Like software modularity, but with a twist: Implementation distributed across routers and hosts Must decide both: how to break system into modules where modules are implemented Introduction 1-17 Layering Layering is a particular form of modularization The system is broken into a vertical hierarchy of logically distinct entities (layers) The service provided by one layer is based solely on the service provided by layer below Rigid structure: easy reuse, performance suffers Introduction 1-18 ISO OSI Reference Model ISO – International Standard Organization OSI – Open System Interconnection Seven layers Lower two layers are peer-to-peer Network layer involves multiple switches Next four layers are end-to-end Host 1 Application Presentation Session Transport Network Datalink Physical Physical medium A Intermediate switch Network Datalink Physical Host 2 Application Presentation Session Transport Network Datalink Physical Physical medium B Introduction 1-19 Key Concepts Service – says what a layer does Ethernet: unreliable subnet unicast/multicast/broadcast datagram service IP: unreliable end-to-end unicast datagram service TCP: reliable end-to-end bi-directional byte stream service Service Interface – says how to access the service E.g. UNIX socket interface Protocol – says how is the service implemented a set of rules and formats that govern the communication between two peers Introduction 1-20 Functions of the Layers Service: Handles details of application programs. Functions: Service: Controls delivery of data between hosts. Functions: Connection establishment/termination, error control, flow control, congestion control, etc. Application telnet, ftp, email Layer www, NFS Transport TCP, UDP Layer Network Layer IP, ICMP, OSPF RIP, BGP Service: Moves packets inside the network. Functions: Routing, addressing, switching, etc. (Data) Link Ethernet, WiFi Service: Reliable transfer of frames over a link. Functions: Synchronization, error control, flow control, etc. Layer T1 Introduction 1-22 Internet Protocol Architecture FTP program FTP protocol FTP program TCP TCP protocol TCP IP Ethernet Driver IP protocol Ethernet protocol Ethernet Driver IP IP protocol ATM Driver ATM protocol IP ATM Driver Introduction 1-23 Internet Protocol Architecture MPEG Servier program UDP IP Ethernet Driver MPEG Player program RTP protocol UDP protocol IP protocol Ethernet protocol Ethernet Driver IP UDP IP protocol ATM Driver ATM protocol IP ATM Driver Introduction 1-24 source message segment Ht datagram Hn Ht frame Hl Hn Ht M M M M Encapsulation application transport network link physical Hl Hn Ht M link physical Hl Hn Ht M switch destination M Ht M Hn Ht Hl Hn Ht M M application transport network link physical Hn Ht Hl Hn Ht M M network link physical Hn Ht Hl Hn Ht M M router Introduction 1-25 Hourglass Note: Additional protocols like routing protocols (RIP, OSPF) needed to make IP work Introduction 1-26 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 1-27 Reality Layering is a convenient way to think about networks But layering is often violated Firewalls Transparent NAT caches boxes Introduction 1-28 Thinking Exercise – Interplanetary Internet Network entities: Ground stations Satellites, space stations at near-Earth orbit 600 kilometers (~ 2s) Mars rovers take ~ 10 to 30 min Planets farther away? Objective: Interconnect with earthbound networks? http://www.spectrum.ieee.org/WEBONLY/publicfeature/aug05/0805inte.html Introduction 1-29