9/26/2011 Computer Network? The “nuts and bolts” view of the Internet q millions of connected q “interconnected collection of autonomous ❍ ❍ “network of networks” ❍ “collection of networks interconnected by routers” ❍ “a communication medium used by millions” ❍ q ❍ Email, chat, Web “surfing”, streaming media q PCs, workstations, servers PDAs, phones, toasters regional ISP fiber, copper, radio, satellite links have different capacities (bandwidth) routers: forward packets q packet: piece of a message q Internet ≠ Web (basic unit of transfer) TDDD36: Fundamentals “internetworking”? mobile local ISP running network apps communication links ❍ workstation server hosts or end-systems computers connected by a communication technology” q What is the Internet? ❍ router computing devices called company network TDDD36: Fundamentals What’s a protocol? q internetwork – interconnection of networks – also called an “internet” q subnetwork – a constituent of an internet q intermediate system – a device used to connect two networks allowing hosts of the networks to correspond with each other Bridge ❍ Router ❍ q Internet is an example of an internetwork. Protocols: v The rules used for communication v Proper, accepted, and expected behavior Need: … specific msgs sent … specific actions taken when msgs received, or other events Network protocols: v Define the order and format of messages exchanged v Defines the actions to take in response to events (e.g., message arrivals, transmissions, losses, and timeouts) TDDD36: Fundamentals What’s a protocol? Layered Architecture: Why? network protocols: v Machines rather than humans v All communication activity in Internet governed by protocols human protocols: v “What’s the time?” v “I have a question” v Introductions Hi TCP connection request Hi 2:00 q Networks are complex with many pieces ❍ Hosts, routers, links, applications, protocols, hardware, software q Can we organize it, somehow? q Let’s consider a Web page request: Browser requests Web page from server Server should determine if access is privileged ❍ Reliable transfer page from server to client ❍ Physical transfer of “bits” from server to client ❍ TCP connection response Get http://www.awl.com/kurose-ross Got the time? Introduction 1-4 ❍ <file> time Introduction 1-5 TDDD36: Fundamentals 1 9/26/2011 Motivation Continued … Motivation Continued … Dealing with complex systems: Application logic Application Services Communication Service Network Services Application Services Reliable delivery Transfer “bits” Communication Service Network Services q explicit structure allows identification, relationship of complex system’s pieces ❍ layered reference model for discussion q modularization eases maintenance, updating of system ❍ change of implementation of layer’s service transparent to rest of system ❍ e.g., change in network technology doesn’t affect rest of system q layering considered harmful? (design vs implemention) Web Client Web Server TDDD36: Fundamentals Layers, Protocols, Interfaces Application Services Application logic protocol Application Services Communication Service Reliable delivery protocol Communication Service Network Services Transfer “bits” protocol Network Services Layer Interface Layer Interface TDDD36: Fundamentals Layered Architecture q Networks organized as a stack of layers? ❍ The purpose of a layer is to offer services to the layer above it using a well-defined interface (programming language analogy: libraries hide details while providing a service) ❍ Reduces design complexity q Protocols: “horizontal” conversations at any Web Server Web Client layer n (i.e., between peer layers) q Data Transfer: each layer passes data & control information to the layer below; eventually physical medium is reached. TDDD36: Fundamentals Layered Architecture (cont’d) TDDD36: Fundamentals Reference Models q A set of layers & protocols is called a Network Architecture. These specifications enable hardware/software developers to build systems compliant with a particular architecture. ❍ E.g., TCP/IP, OSI TDDD36: Fundamentals TDDD36: Fundamentals 2 9/26/2011 The Application Layer The Transport Layer q Residence of network applications and q Concerned with end-to-end data transfer their application control logic q Examples include: q Transmission unit is called segment between end systems (hosts) HTTP (Hyper-Text Transfer Protocol) FTP (File Transfer Protocol) ❍ Telnet ❍ SMTP (Simple Mail Transfer Protocol) ❍ DNS (Domain Name Service) q TCP/IP networks such as the Internet ❍ provides two types of services to applications ❍ “connection-oriented” service – Transmission Control Protocol (TCP) ❍ “connectionless” service - User Datagram Protocol (UDP) ❍ TDDD36: Fundamentals TDDD36: Fundamentals TCP: Connection-oriented Service UDP: Connectionless Service q Handshaking between client & server q No handshaking programs q Send whenever and however you want Parameters for ensuing exchange ❍ Maintain connection-state ❍ q Packet switches do not maintain any connection-state; state is at end systems ❍ q A “best effort” service ❍ No reliability ❍ No congestion & flow control services q Useful for network applications that hence “connection-oriented” q Similar to a phone conversation q TCP is bundled with reliability, congestion control, and flow control. prefer quick delivery of most packets rather than guaranteed (slow) delivery of all packets (e.g., VOIP, video streaming) TDDD36: Fundamentals Internet protocol stack Protocol layering and data q application: supporting network applications ❍ FTP, SMTP, STTP application q transport: host-host data transfer ❍ TCP, UDP transport q network: routing of datagrams from network source to destination ❍ IP, routing protocols q link: data transfer between neighboring network elements ❍ TDDD36: Fundamentals link physical PPP, Ethernet Each layer takes data from above q adds header information to create new data unit q passes new data unit to layer below source M Ht M Hn Ht M Hl Hn Ht M destination application transport network link physical application Ht transport Hn Ht network Hl Hn Ht link physical M message M segment M M datagram frame q physical: bits “on the wire” TDDD36: Fundamentals router TDDD36: Fundamentals 3 9/26/2011 Network Taxonomy Network Core: Circuit-Switching Telecommunication networks Circuit-switched networks End-to-end resources reserved for “call” q Link bandwidth, switch Packet-switched networks capacity q Dedicated resources FDM TDM Networks with VCs Datagram Networks with no sharing q Guaranteed transmission capacity q Call setup required q “Blocking” may occur TDTS06 TDTS06 1-19 Network Core: Circuit-Switching Circuit-Switching: FDMA and TDMA q Capacity of medium exceeds the capacity FDMA 1-20 Example: 4 users required for transmission of a single signal ❍ How can we improve “efficiency”? Let’s multiplex. frequency q Divide link bandwidth into “pieces”: time ❍ frequency division - FDMA ❍ time division – TDMA ❍ code division - CDMA (cellular networks) ❍ wavelength division - WDM (optical) TDTS06 TDMA frequency Network Core: Packet-Switching 10 Mbs Ethernet A q source breaks long messages into smaller “packets” B share network resources 1-22 statistical multiplexing C 1.5 Mbs queue of packets waiting for output link q each packet briefly uses full link bandwidth q resource contention ❍ aggregate resource demand can exceed amount available ❍ congestion: packets queue, wait for link use ❍ analogy: rush hour traffic in cities TDTS06 TDTS06 Packet-Switching: Statistical Multiplexing q “store-and-forward” transmission q packets time 1-21 D E Sequence of A & B packets does not have fixed pattern statistical multiplexing. In contrast: In TDM each host gets same slot in revolving TDM frame. 1-23 TDTS06 1-24 4 9/26/2011 How do loss and delay occur? Connection oriented or not? packets queue in router buffers q q No handshaking Hand shaking q packets queue, wait for turn ❍ q if queue is full, arriving packets dropped (Drop-Tail) ❍ Collisions, connectivity, etc. (loss) Connection less: Connection oriented: q packet arrival rate to link exceeds output link capacity packet being transmitted (delay) q No (significant) state Explicit setup phase for logical connection Connection release afterwards Establishes state information about the connection q Mechanisms for q A ❍ B q packets queueing (delay) free (available) buffers: arriving packets dropped (loss) if no free buffers TDTS06 transport physical Which is the best? … It depends on (i) what it is used for, and (ii) what it is built ontop of 26 Wireless, mobility: impact on higher layer protocols E.g., TCP (CO) UDP (CL) should be minimal … best effort service model remains unchanged ❍ TCP and UDP can (and do) run over wireless, mobile q … but performance-wise: ❍ packet loss/delay due to bit-errors (discarded packets, delays for link-layer retransmissions), and handoffs from mobility and transient connectivity ❍ TCP interprets loss as congestion, will decrease congestion window un-necessarily ❍ delay impairments for real-time traffic ❍ limited bandwidth of wireless links q logically, impact ❍ E.g., IP (CL) network link Guarantees that data will arrive (eventually) 1-25 Internet protocol stack application reliable data transfer, error control, flow control, etc. information (at end points or in network) q No guarantees of arrival (or when) q No mechanisms for flow control etc. q Simpler (and faster?) E.g., Ethernet (CL) ATM (CO) Two notes on the physical layer: • Guided (e.g., coaxial cable, fiber, etc) vs. unguided (satellite, wireless, etc.) • Signaling, modulation, encoding, etc, 27 TDDD36: Fundamentals Something for next class Question to think/read about ... q Which technology is the fastest? ❍ 10 Mbps Ethernet ❍ 11 Mbps 802.11 TDDD36: Fundamentals 5