Slide 1A Client-Server TransactionHardware Organization of a Network HostComputer NetworksLowest Level: Ethernet SegmentNext Level: Bridged Ethernet SegmentConceptual View of LANsNext Level: internetsLogical Structure of an internetThe Notion of an internet ProtocolWhat Does an internet Protocol Do?Transferring Data Over an internetOther IssuesGlobal IP InternetHardware and Software Organization of an Internet ApplicationBasic Internet ComponentsNAP-Based Internet ArchitectureInternet Connection HierarchySlide 20Naming and Communicating on the InternetEvolution of Internet: NamingEvolution of Internet: FirewallsVirtual Private NetworksA Programmer’s View of the InternetIP AddressesDotted Decimal NotationIP Address StructureInternet Domain NamesDomain Naming System (DNS)Properties of DNS Host EntriesA Program That Queries DNSUsing DNS ProgramQuerying DIGMore Exotic Features of DIGInternet ConnectionsPutting it all Together: Anatomy of an Internet ConnectionNext TimeCarnegie Mellon1Internetworking15-213: Introduction to Computer Systems19th Lecture, Oct. 28, 2010Instructors: Randy Bryant and Dave O’HallaronCarnegie Mellon2A 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 resourceServer provides service by manipulating resource for clientsServer activated by request from client (vending machine analogy)Note: clients and servers are processes running on hosts (can be the same or different hosts)Carnegie Mellon3Hardware Organization of a Network HostmainmemoryI/O bridgeMIALUregister fileCPU chipsystem bus memory busdisk controllergraphicsadapterUSBcontrollermouse keyboard monitordiskI/O busExpansion slotsnetworkadapternetworkCarnegie Mellon4Computer 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 campusEthernet is most prominent exampleWAN (Wide Area Network) spans country or worldTypically high-speed point-to-point phone linesAn internetwork (internet) is an interconnected set of networksThe Global IP Internet (uppercase “I”) is the most famous example of an internet (lowercase “i”)Let’s see how an internet is built from the ground upCarnegie Mellon5Lowest Level: Ethernet SegmentEthernet segment consists of a collection of hosts connected by wires (twisted pairs) to a hubSpans room or floor in a buildingOperationEach Ethernet adapter has a unique 48-bit address (MAC address)E.g., 00:16:ea:e3:54:e6Hosts send bits to any other host in chunks called framesHub slavishly copies each bit from each port to every other portEvery host sees every bitNote: Hubs are on their way out. Bridges (switches, routers) became cheap enough to replace them (means no more broadcasting)host host hosthub100 Mb/s100 Mb/sportCarnegie Mellon6Next Level: Bridged Ethernet SegmentSpans building or campusBridges cleverly learn which hosts are reachable from which ports and then selectively copy frames from port to porthosthost host host hosthub hubbridge100 Mb/s 100 Mb/shosthosthub100 Mb/s 100 Mb/s1 Gb/shosthost hostbridgehosthosthubA BCXYCarnegie Mellon7Conceptual View of LANsFor simplicity, hubs, bridges, and wires are often shown as a collection of hosts attached to a single wire:host host host...Carnegie Mellon8Next Level: internetsMultiple incompatible LANs can be physically connected by specialized computers called routersThe connected networks are called an internethost host host...host host host...WAN WANLAN 1 and LAN 2 might be completely different, totally incompatible (e.g., Ethernet and Wifi, 802.11*, T1-links, DSL, …)router router routerLANLANCarnegie Mellon9Logical Structure of an internetAd hoc interconnection of networksNo particular topologyVastly different router & link capacitiesSend packets from source to destination by hopping through networksRouter forms bridge from one network to anotherDifferent packets may take different routesrouterrouterrouterrouterrouterrouterhosthostCarnegie Mellon10The 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 smooths out the differences between the different networksImplements an internet protocol (i.e., set of rules)governs how hosts and routers should cooperate when they transfer data from network to networkTCP/IP is the protocol for the global IP InternetCarnegie Mellon11What Does an internet Protocol Do?Provides a naming schemeAn internet protocol defines a uniform format for host addressesEach host (and router) is assigned at least one of these internet addresses that uniquely identifies itProvides 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 addressesPayload: contains data bits sent from source hostCarnegie Mellon12LAN2Transferring Data Over an internetprotocolsoftwareclientLAN1adapterHost ALAN1data(1)data PH FH1(4)data PH FH2(6)data(8)data PH FH2 (5)LAN2 frameprotocolsoftwareLAN1adapterLAN2adapterRouterdata PH(3) FH1data PH FH1(2)internet packetLAN1 frame(7) data PH FH2protocolsoftwareserverLAN2adapterHost BPH: Internet packet headerFH: LAN frame headerCarnegie Mellon13Other 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 networkingCarnegie Mellon14Global IP InternetMost famous example of an internetBased on the TCP/IP protocol familyIP (Internet protocol) : Provides basic naming scheme and unreliable delivery capability of packets (datagrams) from host-to-hostUDP (Unreliable Datagram Protocol)Uses IP to provide unreliable datagram delivery from process-to-processTCP (Transmission Control
View Full Document