380 likes | 402 Views
Learn about building blocks, strategies, addressing, multiplexing, communication, performance metrics & more in computer networks.
E N D
Introduction to Computer Networks Foundation University of Ilam Mozafar Bag-Mohammadi
Outline • Introduction • Statistical Multiplexing • Inter-Process Communication • Network Architecture • Performance Metrics
Introduction • Building a network to support diverse ranges of applications • Distributed computing. • Multimedia. • Telecommunication. • E-commerce, etc. • What kind of technology do we need? • Hardware. • Software.
First Step • What is computer Network? • Different views. • Differences from other networks, Its generality. • What is requirements? Different perspective: • Network provider • Network designer • Application programmer
Design goals • Connectivity • Scalability • Simplicity • For designers. • Most importantly for users. • Efficiency • cost • performance • Support for common user services.
… Building Blocks • Nodes: PC, special-purpose hardware… • hosts • switches, routers and gateways • Links: coaxial cable, optical fiber… • point-to-point • multiple access
Switched Networks • two or more nodes connected by a link, or A network can be defined recursively as... • two or more networks connected by two or more nodes
Strategies • Circuit switching: carry bit streams • Connection oriented. • Original telephone network • Dedicated resource. • Packet switching: store-and-forward messages • Connectionless (IP) or connection oriented (ATM) • Shared resource. • Packet switching is the focus of computer Networks.
Addressing and Routing • Address: byte-string that identifies a node • usually unique • Routing: process of forwarding messages to the destination node based on its destination address • Types of addresses • unicast: node-specific • broadcast: all nodes on the network • multicast: some subset of nodes on the network
L1 R1 L2 R2 Switch 1 Switch 2 L3 R3 Multiplexing (resource sharing) • Time-Division Multiplexing (TDM) • Frequency-Division Multiplexing (FDM)
Statistical Multiplexing • On-demand time-division • Schedule link on a per-packet basis • Packets from different sources interleaved on link • scheduling • fairness, quality of service • Buffer packets that are contending for the link • Buffer (queue) overflow is called congestion …
Packet Switching • A node in a packet switching network Node incoming links outgoing links Memory
Inter-Process Communication • Turn host-to-host connectivity into process-to-process communication regardless where the process are. • Give a unified view and fill gaps between what applications expect and what the underlying technology provides. Host Host Application Host Channel Application Host Host
IPC Abstractions • Request/Reply (Client-server) • Guarantee delivering data, and might protect privacy and integrity. • distributed file systems (NFS) • digital libraries (web) • File Transfer (FTP) • Stream-Based- sequence or stream of bits. • Video on demand: • sequence of frames. Delay constrained, but can be fetched before hand. • For example, a 1/4 NTSC with 352x240 pixels and 24 bit color. (352 x 240 x 24)/8=247.5KB • Assuming 30 frame per second => 7500KBps = 60Mbps • Video Conferencing- • tightly delay bounded. VIC From Berkeley. • Both application can tolerate packet loss.
Reliability in the network? What Goes Wrong in the Network? • Bit-level errors (electrical interference), a bit is corrupted or a burst error. • Packet-level errors (congestion) • Messages are delayed • Messages are deliver out-of-order • Packet loss • Third parties eavesdrop • Link and node failures
Performance Metrics • Bandwidth (throughput) • data transmitted per time unit • link versus end-to-end • notation • KB = 210 bytes • Mbps = 106 bits per second • 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 = Distance / c (light speed) Transmit = Size / Bandwidth
Bandwidth versus Latency • Relative importance • Latency bounded- sending 1-byte by client, 1ms vs 100ms dominates sending a message on a 1Mbps or 100Mbps link • Bandwidth Bounded- sending 25MB image: 1Mbps vs 100Mbps dominates 1ms vs 100ms delayed channel. • Infinite bandwidth • RTT dominates Throughput = TransferSize / TransferTime TransferTime = RTT + 1/Bandwidth x TransferSize • 1-MB file to 1-Gbps link the same as 1-KB packet to 1-Mbps link.
Delay x Bandwidth Product • Amount of data “in flight” or “in the pipe” • Example: 100ms x 45Mbps = 560KB We are usually more interested in 2 times of this value Since it take RTT to hear from receiver.
Layering • Use abstractions to hide complexity and decompose to manageable components. • Abstraction naturally lead to layering • Alternative abstractions at each layer Application programs Request/reply Message stream channel channel Host-to-host connectivity Hardware
Layering • Advantages • Modularity – protocols easier to manage and maintain • Abstract functionality –lower layers can be changed without affecting the upper layers • Reuse – upper layers can reuse the functionality provided by lower layers • Disadvantages • Information hiding – inefficient implementations
Protocols • Building blocks of a network architecture, or layer abstraction. • Each protocol object has two different interfaces • service interface: operations on this protocol • peer-to-peer interface: messages exchanged with peer • Term “protocol” is overloaded • specification of peer-to-peer interface • module that implements this interface
Interfaces Host 2 Host 1 Service High-level High-level interface object object Protocol Protocol Peer-to-peer interface
Host 2 Host 1 Digital Digital Video Video File File library library application application application application application application MSP MSP RRP RRP HHP HHP Protocol Machinery • Protocol Graph • Nodes are protocols and edge are depends on. • most peer-to-peer communication is indirect • peer-to-peer is direct only at hardware level
Protocol Machinery (cont) • Multiplexing and Demultiplexing (demux key) • Encapsulation (header/body) Host 2 Host 1 Application Application program program Data Data RRP RRP RRP Data RRP Data HHP HHP RRP Data HHP
ISO OSI Reference Model • ISO – International Standard Organization • OSI – Open System Interconnection • Started to 1978; first standard 1979 • ARPANET started in 1969; TCP/IP protocols ready by 1974 • Goal: a general open standard • allow vendors to enter the market by using their own implementation and protocols
ISO Architecture End host End host Telnet, FTP, TFTP MSB, integer Manage TCP streams Message, P2P(process) Packet, routing Frame, CRC Raw bit pipe 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 • The last 3 protocols are implemented in all elements in the • Network.
Encapsulation • A layer can use only the service provided by the layer immediate below it • Each layer may change and add a header to data packet data data data data data data data data data data data data data data
OSI Model Concepts • Service – says what a layer does • Interface – says how to access the service • Protocol – says how is the service implemented • a set of rules and formats that govern the communication between two peers
Physical Layer (1) • Service: move the information between two systems connected by a physical link • Interface: specifies how to send a bit • Protocols: coding scheme used to represent a bit, voltage levels, duration of a bit • Examples: coaxial cable, optical fiber links; transmitters, receivers
Datalink Layer (2) • Service: • framing, i.e., attach frame separators • send data frames between peers • others: • arbitrate the access to common physical media • ensure reliable transmission • provide flow control • Interface: send a data unit (packet) to a machine connected to the same physical media • Protocols: physical layer addresses, implement Medium Access Control (MAC) (e.g., CSMA/CD)…
Network Layer (3) • Service: • deliver a packet to specified destination • perform segmentation/reassemble • others: • packet scheduling • buffer management • Interface: send a packet to a specified destination • Protocols: define global unique addresses; construct routing tables
Transport Layer (4) • Services: • provide an error-free and flow-controlled end-to-end connection • multiplex multiple transport connections to one network connection • split one transport connection in multiple network connections • Interface: send a packet to specified destination • Protocols: implement reliability and flow control • Examples: TCP and UDP
Session Layer (5) • Service: • full-duplex • access management, e.g., token control • synchronization, e.g., provide check points for long transfers • Interface: depends on service • Protocols: token management; insert checkpoints,
Presentation Layer (6) • Service: convert data between various representations • Interface: depends on service • Protocol: define data formats, and rules to convert from one format to another
Application Layer (7) • Service: any service provided to the end user • Interface: depends on the application • Protocol: depends on the application • Examples: FTP, Telnet, WWW browser
FTP HTTP NV TFTP UDP TCP IP … NET NET NET 2 1 n Internet Architecture • Defined by Internet Engineering Task Force (IETF). Developed in mid 60s in the ARPANET project. • No assumption about the network tech.
Application TCP UDP IP Network Internet Architecture • Hourglass Design, IP is the focal point. Delivery is separated from end-to-end process channel. • No restrict layering • Application vs Application Protocol (FTP, HTTP)
Telnet FTP DNS TCP UDP IP Packet radio LAN OSI vs. TCP/IP • OSI: conceptually define services, interfaces, protocols • Internet: provide a successful implementation Application Application Presentation Session Transport Transport Network Internet Datalink Host-to- network Physical OSI TCP