170 likes | 340 Views
CS 164: Slide Set 2: Chapter 1 -- Introduction (continued). Roadmap. Performance metrics bandwidth latency bandwidth delay product throughput What are sockets ? APIs. Bandwidth. Bandwidth: Number of bits that can be transmitted over a certain tiem -- typically per unit time.
E N D
Roadmap • Performance metrics • bandwidth • latency • bandwidth delay product • throughput • What are sockets ? APIs.
Bandwidth Bandwidth: Number of bits that can be transmitted over a certain tiem -- typically per unit time. Some people also refer it to the spectrum -- example 10 Ghz. This typically translates to a maximum data rate.
Transmission Time • A function of bandwidth • If bandwidth is B, transmission time is 1/B. • If bandwidth is 10 Mbps, the transmission time is 1/(10 x 106) = 1 ms.
Propagation Delay • Once a bit is put on a link, the time it takes to go across the link. • Depends on the speed with which the electromagnetic signal (light) travels in the medium -- 2 x 108 m/s in fiber. • Propagation delay = distance/speed of signal.
Queuing Delay • At each intermediate node or router, a packet is queued. • Thus, it has to wait prior to transmission. • How long does it have to wait ? Dependent on the load on the network -- how many packets are traversing that router ?
Latency • How long does a packet take to go from one host to another. • Also called “Delay”. Latency = Propagation Delay + Queueing Delay + Transmission Delay
Round Trip Time • Packet is sent from sender to receiver. • Receiver sends ACK (assume immediately) to sender. • Total time delay incurred between the instance the packet is set to the time the ACK is received. • Note if forward delay = backward delay, RTT = 2 * Latency (typically assumed -- although not always accurate).
Bandwidth Delay Product • Think of this as a pipe. • How much does the pipe hold in bits ? • In essence, if I send a stream of bits, the first bit traverses the bit in “Delay” seconds. • In the meantime, how many more bits can I send ? Delay Bandwidth
Example • For a transcontinental channel -- latency = 50 milliseconds. • Bandwidth = 45 Mbps. • Bandwidth delay product = 50 x 10-3 x 45 x 106 = 2.25 Mbits • We can transmit 2.25 M bits before the first bit reaches the other end of the channel !
What if ACK is expected ? • Note if ACK is expected, how many bits can the user transmit before he expects to have an ACK ? • RTT X Bandwidth • For symmetric channels 2 X Delay X Bandwidth.
Throughput • Defines how efficiently channel is being used. Throughput = Transfer size/ Transfer time. What is the transfer time ? RTT + (Transfer size/Bandwidth) (ignoring queuing delays).
Example • 1 MB file over a 1 Gbps network with RTT 100 milliseconds. • Transfer time = 100 ms + (1 MB/1Gbps) = 100 ms + 8 ms = 108 ms. • Effective throughput = 1 MB/108 ms = 74.1 Mbps.
Impact of data size • If data size increases, (Transfer size/Bandwidth) increases. • Could become much larger than RTT. • In that case, Throughput ~ (Transfer size /(Transfer size/Bandwidth) ~ Bandwidth! • Bottomline : Throughput increases with data transfer size.
APIs and Sockets • Network protocols implemented as a part of the OS. • API -- Interface that OS provides to the networking subsystem. • This interface is exported to the user or the application process.
Socket Interface Appl Application Application Details User Process Presentation Session Transport TCP/UDP Network IP Kernel Process Communication Details Socket Link Device Drivers/HW Physical
A note about sockets • Data through sockets -- similar to writing to a file. • Sockets were originally in BSD (Berkeley software development) but now are popular in almost all OS. • Rest of sockets: Read book, Labs.