* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download lecture1-stu
Distributed firewall wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Deep packet inspection wikipedia , lookup
Computer network wikipedia , lookup
Network tap wikipedia , lookup
Serial digital interface wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Internet protocol suite wikipedia , lookup
Airborne Networking wikipedia , lookup
Peer-to-peer wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng. EE4272 Spring 2004 Introduction of Computer Networks Communication & Computer/Data Networks Applications of Computer Networks Requirements Network Architectures Implementing Network Software Network Performance EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline EE4272 technologies Spring 2004 Applications of Computer Networks (e.g. …) Surfing the Web of Client/Server Streaming Audio & Video Video-on-demand: ( Video Conference: ( ) ) Different requirements for various applications EE4272 . Spring 2004 Requirements from Perspectives… Application programmer: services that their applications need, e.g., Network designers: cost-effective design e.g., Network providers: system that is easy to administer and manage e.g., EE4272 Spring 2004 High-level Major Requirements - Network Designers’ Perspectives Connectivity Cost-Effective Resource Sharing Reliability EE4272 Spring 2004 Building Blocks & Connectivity Nodes: PC, special-purpose hardware… Host: edge node for . Switch: node to . Router/Gateway: node connects two/more different . Links: coaxial cable, Direct connectivity (a) point-to-point multiple EE4272 access (b) Spring 2004 … Indirect Connectivity Switched networks Internetworks EE4272 switch router gateway Spring 2004 Issues Related to Connectivity Switching Strategies circuit switching ( send/receive . packet switching ( shared channel; send/receive ): dedicated circuit; ): store-and-forward; . Addressing and Routing address: byte-string that routing: process of destination node based on its types of addresses EE4272 a node; usually unique messages towards the cast: node-specific cast: all nodes on the network cast: some subset of nodes on the network Spring 2004 Cost-Effective Resource Sharing Must share (multiplex) network resources (nodes and links) among multiple users L1 R1 L2 R2 Sw itch 1 Sw itch 2 R3 L3 EE4272 Spring 2004 Conventional Multiplexing Strategies Synchronous Time-Division Multiplexing (STDM) Frequency-Division Multiplexing (FDM) EE4272 Spring 2004 Statistical Multiplexing On-demand (not predetermined) time-division Schedule link on a basis (fairness): FIFO, Round-robin… . Packets from different sources on link What about if only one source has data? Why is needed? Buffer packets that are contending for the link: Buffer (queue) overflow is called . . ■■■ EE4272 Spring 2004 What Goes Wrong in the Network? -Reliability Issue (light, power, microwave interference -> error detection/correction): single or burst error depend on transmission med.: coaxial cable, optical fiber? (congestion control) (network survivability) EE4272 Spring 2004 Network Architecture Use abstractions (unified model) Abstraction naturally lead to Can have . . at each layer Application programs Client Server Request/reply Message stream channel channel Host-to-host connectivity Hardware EE4272 Spring 2004 process-to-process Layering & Protocols Advantages of Layering Manageable Modular design Protocols building blocks of a network architecture layer Each protocol object has two different interfaces service interface: operations . peer-to-peer interface: messages exchanged with Term EE4272 . “protocol” is overloaded Module (various) that implements this interface: specification of peer-to-peer interface ( Spring 2004 . ) Interfaces Host 1 Host 2 High-level object High-level object Protocol Protocol EE4272 Spring 2004 Protocol Machinery Protocol Graph most peer-to-peer peer-to-peer is communication is . only at hardware level Host 1 File application EE4272 Digital library application Video application Host 2 File application Spring 2004 Digital library application Video application Protocol Machinery (cont) Encapsulation ( : control infor., e.g. seq. num) Multiplexing & Demultiplexing ( ): share logical channel at each protocol layer Host 1 Host 2 Application Application program program Application Application program program Data Data RRP RRP RRP Data RRP HHP HHP HHP EE4272 RRP Data Spring 2004 Data OSI (open systems interconnection) Architecture End host End host Application Application Presentation Presentation Session Session Transport Transport Netw ork /aggregation Data link Physical Netw ork Netw ork Data link Data link Physical Physical One or more nodes w ithin the netw ork EE4272 Spring 2004 Netw ork Data link Physical Internet Architecture Defined by Design Application vs Application Protocol (e.g.,HTTP) FTP HTTP ( NV TFTP TCP UDP TCP Application IP NET 1 NET 2 IP ■■■ NET n Ethernet, ATM, FDDI… EE4272 UDP Spring 2004 Network ) Some Protocols in TCP/IP Suite Source: book by William Stallings EE4272 Spring 2004 Software Protocol Implementation Service Interface (e.g. Socket API) socket: the point where a local applications process attaches to the network built in most of the Unix OS, common library routines (socket, listen, accept, client, server, connect, send, recv…) reference: W. Richard Stevens, Unix Network Programming, 2nd edition, Prentice Hall 1998 Protocol Implementation Issues (difference between Socket & protocol- protocol interface) Process Model Message Buffers EE4272 Spring 2004 Performance Metrics Bandwidth (throughput) : data transmitted per time unit link vs. end-to-end Latency (delay) time to send message from point A to point B one-way versus round-trip time (RTT) components Latency = Propagation + Transmit + Queue Propagation = Transmit = . . Throughput (end-to-end) = TransferSize / TransferTime TransferTime = RTT + 1/Bandwidth x TransferSize (w/o queue) EE4272 Spring 2004 Delay x Bandwidth Product Amount of data “in flight” or “in the pipe” Example: 100ms x 45Mbps = 560KB Delay Bandw idth Application Needs requirements ( ): burst with peak rate EE4272 : variance in latency ( Spring 2004 )