Internetworking April 13, 2004A Client-Server TransactionHardware Org of a Network HostComputer NetworksLowest Level: Ethernet SegmentNext Level:Bridged Ethernet SegmentConceptual View of LANsNext Level: internetsThe Notion of an internet ProtocolWhat Does an internet Protocol Do?Transferring Data Over an internetOther IssuesGlobal IP InternetHardware and Software Org of an Internet ApplicationBasic Internet ComponentsThe Internet Circa 1986NSFNET Internet BackboneCurrent NAP-Based Internet ArchInternet Connection HierarchyNetwork Access Points (NAPs)Slide 21A Programmer’s View of the Internet1. IP AddressesDotted Decimal NotationIP Address Structure2. Internet Domain NamesDomain Naming System (DNS)Properties of DNS Host EntriesA Program That Queries DNSQuerying DNS from the Command LineInternet Domain Survey3. Internet ConnectionsPutting it all Together: Anatomy of an Internet ConnectionNext TimeInternetworkingApril 13, 2004TopicsClient-server programming modelNetworksInternetworksGlobal IP InternetIP addressesDomain namesConnections15-213“The course that gives CMU its Zip!”class25.ppt– 2 –15-213, S’04A Client-Server TransactionClientprocessServerprocess1. Client sends request2. Server handlesrequest3. Server sends response4. Client handlesresponseResourceMost network applications are based on the client-server model:A server process and one or more client processesServer manages some resource.Server provides service by manipulating resource for clients.Note: clients and servers are processes running on hosts (can be the same or different hosts).– 3 –15-213, S’04Hardware Org of a Network HostmainmemoryI/O bridgeMIALUregister fileCPU chipsystem bus memory busdisk controllergraphicsadapterUSBcontrollermouse keyboard monitordiskI/O busExpansion slotsnetworkadapternetwork– 4 –15-213, S’04Computer NetworksA network is a hierarchical system of boxes and wires organized by geographical proximitySAN (System Area Network) spans cluster or machine roomSwitched Ethernet, Quadrics QSW, …LAN (local area network) spans a building or campus.Ethernet is most prominent example.WAN (wide-area network) spans country or world.Typically high-speed point-to-point phone lines.An internetwork (internet) is an interconnected set of networks.The Global IP Internet (uppercase “I”) is the most famous example of an internet (lowercase “i”)Let’s build an internet from the ground up.– 5 –15-213, S’04Lowest Level: Ethernet SegmentEthernet segment consists of a collection of hosts connected by wires (twisted pairs) to a hub. Spans room or floor in a building.OperationEach Ethernet adapter has a unique 48-bit address.Hosts send bits to any host in chunks called frames.Hub slavishly copies each bit from each port to every other port, i.e., Every host sees every bit.Note: Hubs are on their way out. Bridges (switches, routers) have become cheap enough to replace them (thus: no more broadcasting)hosthost hosthub100 Mb/s100 Mb/sports– 6 –15-213, S’04Next Level:Bridged Ethernet SegmentSpans building or campus.Bridges cleverly learn which hosts are reachable from which ports and then selectively copy frames from port to port.hosthost host host hosthub hubbridge100 Mb/s100 Mb/shosthosthub100 Mb/s 100 Mb/s1 Gb/shosthost hostbridgehosthosthubA BCXY– 7 –15-213, S’04Conceptual View of LANsFor simplicity, hubs, bridges, and wires are often shown as a collection of hosts attached to a single wire:hosthost host...– 8 –15-213, S’04Next Level: internetsMultiple incompatible LANs can be physically connected by specialized computers called routers.The connected networks are called an internet.hosthost hostLAN 1...hosthost hostLAN 2...routerWAN WANLAN 1 and LAN 2 might be completely different, totally incompatible LANs (e.g., Ethernet and Wifi, 802.11*, T1-links, DSL, …)router router– 9 –15-213, S’04The Notion of an internet ProtocolHow is it possible to send bits across incompatible LANs and WANs?Solution: protocol software running on each host and router smoothes out the differences between the different networks.Implements an internet protocol (i.e., set of rules) that governs how hosts and routers should cooperate when they transfer data from network to network.TCP/IP is the protocol for the global IP Internet.– 10 –15-213, S’04What Does an internet Protocol Do?1. Provides a naming schemeAn internet protocol defines a uniform format for host addresses.Each host (and router) is assigned at least one of these internet addresses that uniquely identifies it.2. Provides a delivery mechanismAn internet protocol defines a standard transfer unit (packet)Packet consists of header and payloadHeader: contains info such as packet size, source and destination addresses.Payload: contains data bits sent from source host.– 11 –15-213, S’04Transferring Data Over an internetprotocolsoftwareclientLAN1adapterHost Adatadata FH1data PHPH FH2LAN1LAN2datadata PHFH1data PH FH2(1)(2)(3)(4)(5)(6)(7)(8)internet packetLAN2 frameprotocolsoftwareLAN1adapterLAN2adapterRouterFH1LAN1 framedata PH FH2protocolsoftwareserverLAN2adapterHost BdataPH– 12 –15-213, S’04Other IssuesWe are glossing over a number of important questions:What if different networks have different maximum frame sizes? (segmentation)How do routers know where to forward frames?How are routers informed when the network topology changes?What if packets get lost?These (and other) questions are addressed by the area of systems known as computer networking.– 13 –15-213, S’04Global IP InternetMost famous example of an internet.Based on the TCP/IP protocol familyIP (Internet protocol) : Provides basic naming scheme and unreliable delivery capability of packets (datagrams) from host-to-host.UDP (Unreliable Datagram Protocol)Uses IP to provide unreliable datagram delivery from process-to-process.TCP (Transmission Control Protocol)Uses IP to provide reliable byte streams from process-to-process over connections.Accessed via a mix of Unix file I/O and functions from the sockets interface.– 14 –15-213, S’04Hardware and Software Org of an Internet ApplicationTCP/IPClientNetworkadapterGlobal IP InternetTCP/IPServerNetworkadapterInternet client host Internet server hostSockets interface(system calls)Hardware interface(interrupts)User codeKernel codeHardwareand firmware– 15 –15-213, S’04Basic Internet
View Full Document