340 likes | 440 Views
Foundations. Readings: Peterson & Davie, Chapter 1. Dave Clark. “We reject kings, presidents, and voting. We believe in rough consensus and running code.”. Admininstrivia. Website coming Friday! Assignment 1 assigned on Friday. To be discussed today TODOs: Log into lab machines
E N D
Foundations • Readings: Peterson & Davie, Chapter 1
Dave Clark • “We reject kings, presidents, and voting. We believe in rough consensus and running code.”
Admininstrivia • Website coming Friday! • Assignment 1 assigned on Friday. • To be discussed today • TODOs: • Log into lab machines • Sample Schedule • http://courses.washington.edu/css432/syllabi/s08.html • Sample FAQ • http://courses.washington.edu/css432/prog/prog1_faq.html
Networks • What is a network?
Data and Links • What is a physical Network? • We’ll investigate these empirically, starting with the first assignment
Virtualization and Overlays • What is a virtual network?
From the Text: • “Think of a network as providing the means for a set of application processes that are distributed over [multiple] computers to communicate” • We could make every application responsible for their information exchange, but • Lots of redundancy and errors with this approach • Instead, lets distill common communication patterns • And offer those as services/protocols in a network stack
Perspectives • App Developer • What do I want? • Network Architect • Cost-effective design, reliable, QoS enabled • Provider • Account for usage, offer QoS gradients
Network Styles • Links, Nodes, Clouds form network maps • Point-to-Point • Quickly becomes unmanageable • Multiple-Access • Multiplex a single bus/wire/channel across multiple hosts • Limitations :geographical distance limitations and number of nodes connected. • All styles of Networks must cope with Scalability
Switching Networks • The most common types of switched networks include: • Circuit-switched • POTS • Packet-switched • Store-and-forward
Network Symbols • Fig 1.3, p8 • Switches, nodes (hosts), and links
Packets V.S. Messages • Packets refer to physical data on the wire, with a well-defined size imposed by each network • Or subnetwork your packet moves through • This could introduce packet fragmentation and rebuilding (more on that later) • Messages: a data payload usually exchanged at the application level • These messages may not fit into one packet
Networks of Networks • Internetwork: a connection of independent networks • Visualize these as clouds • Gateway: A Node that connects two or more networks (a.k.a router) • Quite similar in spirit to a switch, and thus these terms are frequently blurred
Recursive Networks • A network may be built by combining existing networks • This implies a recursive structure • Where the basis is some physical medium • We can recursively build larger and larger networks by connecting existing network clouds • Analog: Fib numbers
Network Addresses • A unique* way to identify all nodes on a network • Much like a cell-phone number
Effective Networking • We need to “share” links effectively • STDM • Divide time into quanta and assign the link in a RR fashion • FDM • Divide frequencies into channels, like TV • Limitations: Dynamic resizing of the quantum or adding new quanta/frequencies is required
Statistical Multiplexing • Or, On Demand time division multiplexing • Effectively uses the link • Could introduce starvation, so an upper bound on block-size is determined
Network Architecture • Formally, a protocol graph with protocol specifications (a standardization) • Multiple models have been proposed • OSI architecture • Internet (IETF) architecture • Architects leverage abstraction • This naturally introduces layers in our Network • Key: Start with services offered by the layer beneath you and build on top • Lowest layer relies on the underlying hardware • High level services are implemented by lower level services
Architecture, V1.0 Application Programs Process-To-Process Channels Host-To-Host Connectivity Hardware
Architecture, V1.2 Application Programs Application Programs RRC MSC Process-To-Process Channels Host-To-Host Connectivity Host-To-Host Connectivity Hardware Hardware A “Protocol Stack”
Interfaces Peer Level Host 1 Host 2 Application Programs Application Programs RRC MSC RRC MSC Host-To-Host Connectivity Host-To-Host Connectivity Hardware Hardware …1001… Service Level Interfaces define the semantics (form & meaning) o f messages exchanged at a given level
Peer-Level (Indirect) Messaging • Each protocol communicates “with its peer” indirectly by handing messages down the protocol stack • The only layer to have a non-virtualized p2p relationship is the hardware level
End host End host Application Application Presentation Presentation Session Session Transport Transport Network Network Network Network Data link Data link Data link Data link Physical Physical Physical Physical One or more nodes within the network Open Systems Interconnection Model
Layers • Physical Layer transmits bits • Data link layer collects bits into frames • NIC and drivers typically implement this • Network layer handles routing • Packet-level data • Note that these layers are implemented on switches in the cloud, too • Transport and up usually are found on the host • “There is less agreement about the definition of the top three layers”
FTP HTTP NV TFTP Netscape, IE, Mosaic, etc. UDP TCP IP … NET NET NET 2 1 n Focal point for the architecture Internet Architecture • Defined by Internet Engineering Task Force (IETF) • Hourglass Design • Application vs Application Protocol (FTP, HTTP) Reliable byte-stream channel Unreliable datagram delivery Internet Protocol Ethernet, FDDI, etc. CSS 432
IP – the Interconnect • The “meeting point” in our 4 layers • Also, the bottleneck or meeting point of various networking technologies • FTP over FDDI, HTTP over Ethernet • Transport Protocols • Sometimes called end to end • TCP – reliable, in order, slow • UDP – unreliable, out
Alternate View of the Internet Application Layer TCP UDP IP Network
Creative? • We can apply the OSI model (loosely) to the IETF model • Note that OSI was assembled after ARPANET
Encapsulation Payload Protocol 1 Header r Payload Protocol 2 Header Protocol 1 Header Payload Subnet 1 Header Protocol 2 Header Protocol 1 Header Payload
Using Our Examples Application Programs RRC MSC Host-To-Host Connectivity Hardware Payload RRP Header Payload HHP Header RRP Header Payload
Network Performance • RTT • Message Copying V.S. Passing • Process-per-protocol v.s. per-message • Context Switching v.s. Function Calls • Bandwidth & Latency
Client/Server Networking • We’ll be using this for the class.
Sockets • Coming up!