251 likes | 542 Views
EE4272: Computer Networks. Instructor : Dr. Tricia Chigan Dept .: Elec. & Comp. Eng. Introduction of Computer Networks. Communication & Computer/Data Networks Applications of Computer Networks Requirements Network Architectures Implementing Network Software Network Performance.
E N D
EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng. Spring 2004
Introduction of Computer Networks • Communication & Computer/Data Networks • Applications of Computer Networks • Requirements • Network Architectures • Implementing Network Software • Network Performance Spring 2004
Communication & Computer/Data Networks • What are the differences between… • Applications • Underline 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 • . 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., Spring 2004
High-level Major Requirements- Network Designers’ Perspectives • Connectivity • Cost-Effective Resource Sharing • Reliability Spring 2004
(a) (b) 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 • point-to-point • multiple access Spring 2004
Indirect Connectivity • Switched networks • switch • Internetworks • router • gateway Spring 2004
Issues Related to Connectivity • Switching Strategies • circuit switching (): dedicated circuit; send/receive . • packet switching (): store-and-forward; shared channel; send/receive . • Addressing and Routing • address: byte-string that a node; usually unique • routing: process ofmessages towards the destination node based on its • types of addresses • 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 Spring 2004
Conventional Multiplexing Strategies • Synchronous Time-Division Multiplexing (STDM) • Frequency-Division Multiplexing (FDM) Spring 2004
■ ■ ■ Statistical Multiplexing • On-demand(not predetermined) time-division • Schedule link on abasis (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 . 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) Spring 2004
Network Architecture • Use abstractions (unified model) . • Abstraction naturally lead to . • Can have at each layer Client Server process-to-process Spring 2004
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 “protocol” is overloaded • Module (various) that implements this interface: . • specification of peer-to-peer interface ( ) Spring 2004
Interfaces Host 1 Host 2 High-level High-level object object Protocol Protocol Spring 2004
Host 1 Host 2 Digital Digital Video Video File File library library application application application application application application Protocol Machinery • Protocol Graph • most peer-to-peer communication is. • peer-to-peer is only at hardware level Spring 2004
Host 1 Host 2 Application Application Application Application program program program program Data Data RRP RRP RRP Data RRP Data HHP HHP HHP RRP Data Protocol Machinery (cont) • Encapsulation (: control infor., e.g. seq. num) • Multiplexing & Demultiplexing (): share logical channel at each protocol layer Spring 2004
OSI (open systems interconnection) Architecture /aggregation Spring 2004
FTP HTTP NV TFTP UDP TCP IP NET NET NET ■ ■ ■ 1 2 n Internet Architecture • Defined by() • Design • Application vs Application Protocol (e.g.,HTTP) Application TCP UDP IP Network Ethernet, ATM, FDDI… Spring 2004
Some Protocols in TCP/IP Suite Source: book by William Stallings 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. RichardStevens, Unix Network Programming, 2nd edition, Prentice Hall 1998 • Protocol Implementation Issues (difference between Socket & protocol- protocol interface) • Process Model • Message Buffers 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) Spring 2004
Delay x Bandwidth Product • Amount of data “in flight” or “in the pipe” • Example: 100ms x 45Mbps = 560KB • Application Needs • requirements (): burst with peak rate • : variance in latency () Spring 2004