9/13/2010 Computer Network? The “nuts and bolts” view of the Internet q millions of connected q “interconnected collection of autonomous ❍ ❍ ❍ ❍ Email, chat, Web “surfing”, streaming media q ❍ regional ISP fiber, copper, radio, satellite links have different capacities (bandwidth) routers: forward packets q packet: piece of a message q Internet ≠ Web mobile local ISP running network apps communication links ❍ q PCs, workstations, servers PDAs, phones, toasters workstation server hosts or end-systems computers connected by a communication technology” q What is the Internet? “network of networks” ❍ “collection of networks interconnected by routers” ❍ “a communication medium used by millions” router computing devices called (basic unit of transfer) company network TDDD36: Fundamentals TDDD36: Fundamentals “internetworking”? Layered Architecture: Why? q internetwork – interconnection of q Networks are complex with many pieces 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 ❍ ❍ 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 ❍ ❍ q Internet is an example of an internetwork. TDDD36: Fundamentals Motivation Continued … TDDD36: Fundamentals Motivation Continued … Dealing with complex systems: Application logic Application Services Communication Service Network Services Web Server 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 TDDD36: Fundamentals TDDD36: Fundamentals 1 9/13/2010 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 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 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) ❍ ❍ TDDD36: Fundamentals 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 2 9/13/2010 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 Wireless, mobility: impact on higher layer protocols q logically, impact router TDDD36: Fundamentals Something for next class Question to think/read about ... 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 ❍ ❍ TDDD36: Fundamentals q Which technology is the fastest? ❍ 10 Mbps Ethernet ❍ 11 Mbps 802.11 TDDD36: Fundamentals 3